JUnit报告--测试方法描述
我想看看是否有一种方法可以通过javadocs在我的junit报告中包含“描述性文本”。JUnit4似乎不像TestNG那样支持@Test注释的“description”属性 到目前为止,我所研究的只有一个工具,叫做javadocjunit()。然而,我无法让它工作,因为它似乎与JUnit4不兼容 我想要的是在JUnit报告中为我的每个测试方法提供一两句文字。JavaDoc不好,因为目标受众必须在JavaDoc和Junit报告之间切换才能查看文档和/或测试统计数据 有人知道我还可以用点什么吗 最好的,JUnit报告--测试方法描述,junit,report,Junit,Report,我想看看是否有一种方法可以通过javadocs在我的junit报告中包含“描述性文本”。JUnit4似乎不像TestNG那样支持@Test注释的“description”属性 到目前为止,我所研究的只有一个工具,叫做javadocjunit()。然而,我无法让它工作,因为它似乎与JUnit4不兼容 我想要的是在JUnit报告中为我的每个测试方法提供一两句文字。JavaDoc不好,因为目标受众必须在JavaDoc和Junit报告之间切换才能查看文档和/或测试统计数据 有人知道我还可以用点什么吗 最
rayj我没有将javadocs放在JUnit测试中。我通常会让方法的名称具有足够的描述性,因此它与我能想到的任何注释一样好或更好。我可以想象,这将是一个很好且干净的解决方案 适合做什么?
FIT是一个框架,允许通过Word文档中的表、wiki表或html表编写测试。
FIT会忽略表外的每个字符,并允许您输入文档、说明、需求等 其中一张桌子的外观如何? 想象一个函数
MyMath.square(int)
将其输入参数平方。您必须构建一个所谓的Fixture,它是MyMath
和下表之间的适配器:
class.with.Fixture.Square
x square()
2 4
5 25
第一列描述输入值,第二列描述预期结果。如果不相等,则此字段标记为红色
固定装置的外观如何?对于给定的示例,这将是正确的夹具:
package class.with.Fixture // Must be the same as in the fist row of the table
public class Square extends Fixture {
public int x; // Must be the same as in the second row
public int square() { // Must be the same as in the second row
return MyMath.square(x);
}
}
或许,您可以根据自己的需求使用FIT。请随时评论我的答案或编辑您的问题以获取更多信息 还有一个相当新的解决方案叫做。这是一个基于Java的测试执行报告,主要基于向代码添加补充注释。现有注释包括:
- 自定义描述:@description(“酷测试”)
- 按功能或故事分组:@features({“feature1”、“feature2”}),@stories({“story1”、“story2”})
- 将在测试用例中执行的方法标记为步骤:@Step(甚至适用于私有方法)
- 附件:@附件(name=“Page screenshot”,type=“image/png”)
查看他们的和了解更多详细信息。在
JUnit 5
中,有一种方法可以使用@DisplayName
注释每个测试。声明的测试类可以有文本
、特殊字符
和表情符号
每个测试上声明的文本可由测试运行者
和测试报告
看到
上面写着:
public@interface DisplayName
@DisplayName用于声明带注释的测试类或测试方法的自定义显示名称。
显示名称通常用于IDE和构建工具中的测试报告,可能包含空格、特殊字符甚至表情符号
和:
import org.junit.gen5.api.DisplayName;
导入org.junit.gen5.api.Test;
@DisplayName(“一个特殊的测试用例”)
类DisplayNameDemo{
@试验
@DisplayName(“包含空格的自定义测试名称”)
void testWithDisplayNameContainingSpaces(){
}
@试验
@显示名称(“╯°□°)╯")
显示名称包含特殊字符()的无效测试{
}
@试验
@DisplayName(“我不明白这是如何回答您关于为测试方法添加描述性消息的问题的。FIT是否提供了此功能?不是直接的,但您可以在Word文档中编写好文档,说明测试方法的作用和应该作用。问得好。我也对解决此问题感兴趣。5年后,同样的问题:)Junit 5将支持自定义测试名称:Thanx,但Junit 5太新,无法在生产中使用。@Akceptor这是真的。但我在想,问题已经7年了——也许7年后这可能是正确的答案:DAwarded。只是因为Junit 5似乎是唯一可用的解决方案