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

时间:2009-03-24 09:12:34

标签: java tdd annotations bdd

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

4 个答案:

答案 0 :(得分:8)

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

答案 1 :(得分:8)

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

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

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

答案 2 :(得分:1)

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

答案 3 :(得分:0)

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

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

当您进行单元测试时,您可以证明的一件事就是您的实现符合界面。因此,如果注释暗示某些行为或属性(例如Serializable事情真的应该是可序列化的),您也希望在测试中代表这一点。