我试图看看是否有办法通过javadocs在我的junit报告中包含“描述性文本”。 JUnit 4似乎不像TestNG那样支持@Test注释的'description'属性。
到目前为止,我所研究的只有一个名为javadoc-junit(http://javadoc-junit.sourceforge.net/)的工具。但是我无法使用它,因为它似乎与Junit 4不兼容。
我想要的是在JUnit报告中用我的每个测试方法提供一个或两个文本的方法。 JavaDoc并不好,因为目标受众必须在JavaDoc和Junit Report之间切换,以查看文档和/或测试统计信息。
任何人都知道我能以最小的努力使用其他任何东西吗?
最佳, Ray J
答案 0 :(得分:8)
还有一个名为 Allure 的最新解决方案。这是一个基于Java的测试执行报告,主要基于向代码添加补充注释。现有注释包括:
有关详细信息,请参阅 wiki 和 example project 。
答案 1 :(得分:8)
在JUnit 5
中,有一种方法可以使用@DisplayName
为每个测试添加注释。声明的测试类可以包含text
,special characters
和emojis
。
test runners
和test reports
可以看到每个测试的声明文字。
Javadoc说:
public @interface DisplayName
@DisplayName用于为带注释的测试类或测试方法声明自定义显示名称。 显示名称通常用于IDE和构建工具中的测试报告,可能包含空格,特殊字符甚至表情符号。
import org.junit.gen5.api.DisplayName;
import org.junit.gen5.api.Test;
@DisplayName("A special test case")
class DisplayNameDemo {
@Test
@DisplayName("Custom test name containing spaces")
void testWithDisplayNameContainingSpaces() {
}
@Test
@DisplayName("╯°□°)╯")
void testWithDisplayNameContainingSpecialCharacters() {
}
@Test
@DisplayName("")
void testWithDisplayNameContainingEmoji() {
}
}
答案 2 :(得分:6)
我没有将javadoc放在JUnit测试中。我通常会将方法的名称描述得足够好,所以它与我能提出的任何评论一样好或更好。
答案 3 :(得分:-1)
我可以想象,Framework for Integrated Tests (FIT)将是一个很好的清洁解决方案。
FIT做什么?
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 请随意评论我的回答或编辑您的问题以获取更多信息!