我最近开始创建自己的注释并运动 TDD/BDD,我想对我的注释进行单元测试以为它们创建一个清晰的规范。然而,由于注释基本上只是花哨的接口,据我所知不能真正直接实例化,有没有什么办法可以通过反射来对注释进行单元测试?
Esko
问问题
6540 次
4 回答
9
注释有一些影响(否则,使用它们将毫无意义)。所以不要测试注释的存在,但它应该具有的效果。
于 2009-03-24T09:22:35.397 回答
9
我通常不会为此编写测试,但您可以简单地创建一组使用和滥用注释的测试类,以测试它是否存储其成员值、它是否具有正确的默认值等。
当然,这仅适用于在正确目标上指定的运行时注释。
以我的经验,注释本身很少有足够的兴趣来保证单元测试——通常是使用它们的代码需要测试。但是我不是来自 100% 代码覆盖率的思想流派:-)
于 2009-03-24T09:28:33.573 回答
1
如果您的注释定义正常,您可以进行单元测试:它是否可以应用于有效的元素集,如果需要,它是否在运行时可用,默认值是否正确初始化?然后,稍后,对将处理您的注释的类进行单元测试。
于 2009-03-24T09:19:02.907 回答
0
您不能直接测试它们,因为正如您所指出的,没有什么可以测试的。不过,您可以证明一些事情:
- 代码中带有注释的对象在运行时具有任何预期的注释
- 默认值已初始化
- 注释绑定到您期望的内容
当您进行单元测试时,您可以证明的一件事是您的实现符合接口。因此,如果注释暗示了某些行为或属性(例如Serializable
,事物确实应该是可序列化的),那么您也希望在测试中表示这一点。
于 2009-03-24T09:18:19.243 回答