JUnit 测试说明

2022-09-01 02:20:20

是否可以在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注释,这些注释不存在于构建输出中。

谢谢。


答案 1

在 JUnit 5 中,有@DisplayName注释:

@DisplayName用于声明带批注的测试类或测试方法的自定义显示名称。显示名称通常用于 IDE 和生成工具中的测试报告,可能包含空格、特殊字符甚至表情符号。

例:

@Test
@DisplayName("Test if true holds")
public void checkTrue() {
    assertEquals(true, true);
}

答案 2

TestNG就是这样做的,对我来说这是最整洁的解决方案:

@Test(description="My funky test")  
public void testFunk() {  
    ...  
}  

有关详细信息,请参阅 http://testng.org/javadocs/org/testng/annotations/Test.html