首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >JUnit测试描述

JUnit测试描述
EN

Stack Overflow用户
提问于 2012-10-31 21:38:19
回答 4查看 35.5K关注 0票数 35

是否可以在JUnit中为将来的读者添加测试的简要描述(例如,正在测试的内容,一些简短的解释,预期的结果,等等)?我的意思是在ScalaTest中,我可以这样写:

代码语言:javascript
复制
test("Testing if true holds") {
  assert(true)
}

理想的方法是使用一些注释,例如

代码语言:javascript
复制
@Test
@TestDescription("Testing if true holds")
public void testTrue() {
    assert(true);
}

因此,如果我使用Maven (或一些类似的工具)运行这样的带注释的测试,我可能会得到与使用ScalaTest时在SBT中类似的输出:

代码语言:javascript
复制
- Testing if entity gets saved correctly
- Testing if saving fails when field Name is not specified
- ...

目前,我既可以使用非常长的方法名,也可以编写javadoc注释,这在构建输出中并不存在。

谢谢。

EN

回答 4

Stack Overflow用户

发布于 2013-07-05 20:08:37

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

代码语言:javascript
复制
@Test(description="My funky test")  
public void testFunk() {  
    ...  
}  

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

票数 18
EN

Stack Overflow用户

发布于 2012-10-31 21:41:05

这并不完全是您想要的,但是您可以提供对任何assert方法的描述。

类似于:

代码语言:javascript
复制
@Test
public void testTrue() {
    assertTrue("Testing if true holds", true);
}
票数 13
EN

Stack Overflow用户

发布于 2016-09-20 17:01:12

在JUnit中测试时,我更喜欢遵循标准格式。测试的名称将是

代码语言:javascript
复制
test[method name]_[condition]_[outcome]

例如:

代码语言:javascript
复制
 @Test
 public void testCreateObject_nullField_errorMessage(){}

 @Test
 public void testCreateObject_validObject_objectCreated(){}

我认为这种方法在进行TDD时很有帮助,因为您可以开始编写所有的测试名称,这样您就知道需要测试/开发什么。

尽管如此,我还是欢迎来自JUnit的测试描述功能。

这肯定比我过去见过的其他测试更好,比如:

代码语言:javascript
复制
@Test public void testCreateObject1(){}
@Test public void testCreateObject2(){}
@Test public void testCreateObject3(){}

代码语言:javascript
复制
@Test public void testCreateObjectWithNullFirstNameAndSecondNameTooLong(){}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13159293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档