当前位置: 首页 > 知识库问答 >
问题:

如何在JUnit XML报表上配置name和classname属性

翟黎明
2023-03-14

为了与外部测试管理解决方案集成并具有空手道结果的可见性,我需要使用JUnit XML报告导入它们。在JUnit的XML报告中标识的测试用例由元素上的name和classname属性标识。然而,这些名称似乎是以某种方式动态生成的,而不是作为清晰标识原始测试用例的唯一标识符。理想的情况是为相应的测试案例提供唯一的标识符,因此如果我们多次导入结果,它们总是与测试管理解决方案中的相同实体相关联。

我已经尝试运行了karate-junit5示例代码,并使用“mvn test”运行了它。这是生成的JUnit XML报告的示例。

  <testcase name="testTags[1][1]" classname="karate.SampleTest" time="0.002"/>
  <testcase name="testSample[1][1]" classname="karate.SampleTest" time="0"/>
  <testcase name="testSample[1][2]" classname="karate.SampleTest" time="0"/>
  <testcase name="testFullPath[1][1]" classname="karate.SampleTest" time="0"/>
Feature: sample

  Scenario: first hello world
    * print 'hello'

  Scenario: second scenario
    * print 'second'
  <testcase name="second" classname="karate.SampleTest" time="0.002"/>
  <testcase name="first hello world" classname="karate.SampleTest" time="0"/>
  <testcase name="second scenario" classname="karate.SampleTest" time="0"/>
  <testcase name=first" classname="karate.SampleTest" time="0"/>

或者使用功能名和方案名填充name属性。无论如何,是否有任何方法来配置Junit报告元素上的这些属性应该如何填充?

共有1个答案

杜俭
2023-03-14

很肯定您使用的是一个老版本的Karate或其他东西(可能是JUnit本身)生成了这个XML。阅读这篇文章,您可能需要将报告解决方案指向另一个文件夹,或者排除一些不是由Karate创建的文件:https://github.com/intuit/karate#test-reports

当然可能有机会改进空手道,所以我建议你这样做。

打开一个新的问题,并遵循以下过程:https://github.com/intuit/karate/wiki/how-to-submit-an-issue-然后指定您希望对今天生成的内容进行哪些更改。

此外,XML创建代码在此文件engine.java中查找savereSultXML()方法。

 类似资料:
  • 问题内容: 我们在Jenkins中配置了Java MOJO。在CI中构建代码后, 将生成surefire报告。我们有Junit和Selenium测试用例来 测试应用程序。 我需要以HTML格式呈现来自测试用例的结果。 Jenkins 是否有可用的插件以HTML格式显示内容? 问题答案: First you need to install the Selenium HTML Report Plugi

  • 问题内容: 如何在AWS ElasticBeanstalk上安装和配置Redis?有人知道如何编写.ebextension脚本来实现这一目标吗? 问题答案: AWS Elastic Beanstalk确实通过.ebextensions文件夹提供了资源配置。本质上,除了应用程序之外,您还需要告诉Elastic Beanstalk您还希望提供什么。用于置备到默认vpc。你需要 创建一个.ebexten

  • 心跳报表配置 配置入口 http://localhost:8080/cat/s/config?op=displayPolicy 配置示例说明 心跳模板配置的Sample如下: <?xml version="1.0" encoding="utf-8"?> <heartbeat-display-policy> <group id="System" order="1"> <metric

  • 问题内容: 由于classNames的分配方式不同,我在Material-UI组件中的客户端和服务器端样式渲染之间存在差异。 第一次加载页面时会正确分配className,但是刷新页面后,className将不再匹配,因此组件将失去其样式。这是我在控制台上收到的错误消息: 警告:道具不匹配。服务器:“ MuiFormControl-root-3 MuiFormControl- marginNorm

  • 我正在使用Swashback为webapi2项目生成swagger documentation\UI。我们的模型与一些遗留接口共享,因此我想忽略模型上的几个属性。我不能使用JsonIgnore属性,因为遗留接口还需要序列化为JSON,所以我不想全局忽略属性,只是在Swashback配置中。 我在这里找到了这样做的方法: https://github.com/domaindrivendev/Swas

  • 您可以使用ApplicationBuilder类来创建父/子ApplicationContext层次结构。 有关详细信息,请参阅“Spring Boot功能”部分中的“第4.1.4节”,“Fluent Builder API”。 9.2.1 在构建时自动展开属性 您可以使用现有的构建配置自动扩展它们,而不是硬编码在项目的构建配置中也指定的某些属性。 这在Maven和Gradle都是可行的。 9.2