是否可以在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注释,这在构建输出中并不存在。
谢谢。
发布于 2013-07-05 20:08:37
TestNG是这样做的,对我来说这是最好的解决方案:
@Test(description="My funky test")
public void testFunk() {
...
}
有关详细信息,请参阅http://testng.org/javadocs/org/testng/annotations/Test.html。
发布于 2012-10-31 21:41:05
这并不完全是您想要的,但是您可以提供对任何assert
方法的描述。
类似于:
@Test
public void testTrue() {
assertTrue("Testing if true holds", true);
}
发布于 2016-09-20 17:01:12
在JUnit中测试时,我更喜欢遵循标准格式。测试的名称将是
test[method name]_[condition]_[outcome]
例如:
@Test
public void testCreateObject_nullField_errorMessage(){}
@Test
public void testCreateObject_validObject_objectCreated(){}
我认为这种方法在进行TDD时很有帮助,因为您可以开始编写所有的测试名称,这样您就知道需要测试/开发什么。
尽管如此,我还是欢迎来自JUnit的测试描述功能。
这肯定比我过去见过的其他测试更好,比如:
@Test public void testCreateObject1(){}
@Test public void testCreateObject2(){}
@Test public void testCreateObject3(){}
或
@Test public void testCreateObjectWithNullFirstNameAndSecondNameTooLong(){}
https://stackoverflow.com/questions/13159293
复制相似问题