【发布时间】:2012-10-31 13:38:19
【问题描述】:
是否可以在 JUnit 中为未来的读者添加一个简短的测试描述(例如,正在测试什么,一些简短的解释,预期的结果,......)?我的意思是在 ScalaTest 中我可以写的东西:
test("Testing if true holds") {
assert(true)
}
理想的方法是使用一些注释,例如
@Test
@TestDescription("Testing if true holds")
public void testTrue() {
assert(true);
}
因此,如果我使用 Maven(或其他类似工具)运行此类带注释的测试,我可以在使用 ScalaTest 时获得与 SBT 中类似的输出:
- Testing if entity gets saved correctly
- Testing if saving fails when field Name is not specified
- ...
目前我可以使用非常长的方法名称或编写 javadoc cmets,它们是 不存在于构建输出中。
谢谢。
【问题讨论】:
-
一种常见的方法是在测试名称中包含描述,例如
public void testIfTrueHoldsForNegativeValues()。我认为不需要特殊注释来执行此操作。 -
我认为长名称没有任何问题,因为它们很常见。您可以巧妙地编写它们,例如
entityIsSavedCorrectly、saveFailsWhenNameMissing等。一定要去掉test前缀,因为它是多余的(尤其是@Test注释)。 ScalaTest 仅给出 JUnit 方法名称所在的字符串,因此您“丢失”的只是空格。如果你必须有描述,你总是可以把它们贴在单独的断言上。