android - 如何在 junit 测试的 xml 报告中添加属性?
问题描述
我想在 junit 测试生成的 xml 报告中添加一些属性,以便为我的测试添加可追溯性
这就是我想要的:
class MyTest{
@Test
@AddAttribute("key","value")
fun myTest()
{
}
}
然后将这对 ("key","value") 添加到我的 report.xml 中,例如:
<?xml version='1.0' encoding='UTF-8' ?>
<testsuite name="MyTests" tests="1" failures="0" errors="0" skipped="0" time="20.846" timestamp="2020-07-07T15:07:57" hostname="localhost">
<properties>
<property name="project" value="app" />
</properties>
<testcase name="MyTest" classname="MyTest" time="12.912" key="value" />
</testsuite>
有任何想法吗 ?
解决方案
似乎没有可用的解决方案来解决这个问题。但是,如果您遵循此答案:,您至少可以将您的作品捕获到-output.txt
文件中的控制台。
我们以下面的测试为例:
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class TestReportingTest {
@Test
public void testOutput() {
System.out.println("Key One: Value");
System.out.println("Key Two: 1,2,3,4,5");
assertEquals(4, 2 + 2);
}
}
并将您的 Surefire 插件配置如下:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M5</version>
<configuration>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
</configuration>
</plugin>
执行后mvn test
,你会得到一个包含以下内容的your.package.TestName-output.txt
文件:target/surefire-reports
Key One: Value
Key Two: 1,2,3,4,5
您可能希望以一种以后可以轻松解析/访问它们的方式格式化您的控制台日志。
这应该适用于 JUnit 4 和 JUnit 5,并且与 Surefire 插件相关,而不是测试框架。如果您使用 Gradle 作为构建系统,您可以在此处找到正确的配置。
推荐阅读
- wxpython - 如何在我的编辑器中扩展边距?
- c++ - C++ constexpr realization differencies
- xamarin.forms - Xamarin 表单图标未在 TabbedPage 中正确呈现
- php - textarea wrap hard 将新行添加到包装的单词
- python - TensorFlow:将 Keras 与可学习的 tfp.bijectors/tfp.distributions 结合使用
- powershell - Robocopy 损坏的文件指示
- windows-10 - Windows 10 上的 Lucee - 服务器配置拒绝客户端
- mongodb - MongoDB:查询以获取自定义字段布局
- c# - Dynamic Linq in Asp.net Core?
- c# - 当由于滚动而出现长标签时,图表正在重新缩放轴标签的区域