繁体   English   中英

Java注释可以进行单元测试吗?

[英]Can Java annotations be unit tested?

我最近开始创建自己的注释并运行TDD / BDD,我想要对我的注释进行单元测试,以便为它们创建一个明确的规范。 然而,由于注释基本上只是花哨的界面,据我所知,这些界面无法直接实例化,是否有任何方法缺乏反映单元测试注释?

注释会产生一些影响(否则,使用它们将毫无意义)。 因此,不要测试注释存在,但应测试它应具有的效果。

这不是我通常会编写测试的东西,但你可以简单地创建一组使用和滥用注释的测试类,测试它是否存储其成员值,它是否具有正确的默认值等。

这仅适用于在正确的目标上指定的运行时注释。

根据我的经验,注释本身很少有趣,足以保证单元测试 - 通常是使用它们需要测试的代码。 但后来我不是来自100%代码覆盖的思想学校:-)

如果注释定义正常,则可以进行单元测试:它是否可以应用于有效的元素集,是否在运行时可用(如果需要),是否正确初始化了默认值? 然后,稍后,单元测试将处理您的注释的类。

你无法直接测试它们,因为正如你所指出的那样,没有什么可以测试的。 但你可以证明一些事情:

  • 代码中带注释的对象在运行时具有任何预期的注释
  • 默认值已初始化
  • 注释绑定到您期望它们的内容

在进行单元测试时,您可以证明的一点是您的实现符合接口。 因此,如果注释暗示某些行为或属性(例如Serializable事物确实应该是可序列化的),那么您也希望在测试中表示这一点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM