我想以这样一种方式测试类的规范,即当从 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 方法中删除。编写这样的测试是否可取?
这种情况甚至在集成测试中也有覆盖,但是集成提供的反馈并不会指出问题所在。