如何将TestNG测试结果分配给用例?

How to assign TestNG test results to use cases?

我需要将我的测试结果分配给用例。 目前我的 类(单元测试)有 TestNG 测试。 显然那些测试是类因为用例而存在的,但是没有明显的1-1映射。

是否可以配置 TestNG 报告以在报告中包含自定义组?

喜欢

F02UC01 解析输入 对于这个用例,我有测试 类:

F03UC02 产生输出 对于这个用例,我有测试

理想情况下,我不想重新运行或重写现有测试。我只想要一份测试报告,不同的分组标准。

通常您通过创建一个套件 xml 文件来做到这一点。例如

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Use Case Tests">

  <test name="F02UC01 parse input">
    <classes>
      <class name="com.company.product.input.ParseTest"/>
    </classes>
  </test>

  <test name="F03UC02 produce output">
    <classes>
      <class name="com.company.product.input.OutputTest"/>
      <class name="com.company.product.input.AnotherOutputTest"/>
    </classes>
  </test>

</suite>

也许你可以 select 打包而不是 类。

<packages>
  <package name="com.company.product.input.*"/>
</packages>

您还可以混合使用 classespackages select 离子。见 testng documentation.

编辑

I am running all tests anyway. I just want another report, where some of the tests are use cases.

我想在这种情况下你必须实现自己的 IReporter

我会创建一个注释,我可以将其添加到测试方法中以对它们进行逻辑分组。例如

@Test
@TestTag("F02UC01 parse input")
public void someTest(){
}

然后在我的自定义报告器中使用 IAnnotationFinder 来报告按注释值分组的测试。