我希望以一种方式测试类的规范,即当从getter方法中删除注释时,测试应该失败并警告类的规范已更改。
class SomeBean{
@XMLElement(name = "name")
public String getName(){
return name;
}
}
class SomeBeanUnitTest{
@Test
public void test_getNameMustHaveAnnotation(){
Method getNameMethod = SomeBean.class.getDeclaredMethod("getName", new Class<?>[]{});
assertNotNull(getNameMethod.getAnnotation(XmlElement.class));
}
}
测试声明注解的方法是检查类规范的正确方式吗?虽然这样会使测试更加脆弱,但它将提供适当的反馈,说明getter方法已经移除了该注解。编写此类测试是否明智?
即使在集成测试中也包括了这种情况,但集成测试提供的反馈不会指出问题。