【发布时间】:2019-08-06 11:16:08
【问题描述】:
为了与外部测试管理解决方案集成并查看空手道结果,我需要使用 JUnit XML 报告导入它们。 JUnit 的 XML 报告中标识的测试用例由元素上的 name 和 classname 属性标识。 然而,似乎这些名称是以某种方式动态生成的,而不是作为明确标识原始测试用例的唯一标识符。 理想的情况是为相应的测试用例提供唯一标识符,因此如果我们多次导入结果,它们总是与测试管理解决方案中的相同实体相关联。
我尝试运行karate-junit5 sample code 并使用“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"/>
我希望“name”属性将填充测试用例的唯一标识符,与运行次数无关,例如使用 Scenario 的值(例如“first hello world”)
Feature: sample
Scenario: first hello world
* print 'hello'
Scenario: second scenario
* print 'second'
因此,像这样生成 JUnit XML 报告会更有用。
<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报告元素上的这些属性应该如何填充?
【问题讨论】: