0

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

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

F02UC01 解析 此用例的输入我有测试类:

  • com.company.product.input.ParseTest

F03UC02 为我测试过的这个用例产生输出

  • com.company.product.input.OutputTest com.company.product.input.AnotherOutputTest

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

4

1 回答 1

2

通常你通过创建一个套件 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>

也许您可以通过包而不是类来选择它们。

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

您也可以混合classespackages选择。请参阅testng 文档

编辑

无论如何,我正在运行所有测试。我只想要另一份报告,其中一些测试是用例。

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

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

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

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

于 2016-09-26T10:33:25.120 回答