Automated tests 不带注释的组testNG测试
我负责允许对其中一个ETL组件进行单元测试。我想使用testNG和通用java测试类以及testNG.xml中的测试定义(通过向类传递各种参数)来完成这项工作。Oracle和ETL人员应该能够在不更改java代码的情况下添加新的测试,因此,我们需要使用xml套件文件而不是注释 问题: 有没有一种方法可以在testng.xml中对测试进行分组?类似于如何使用注释进行分组 我是说Automated tests 不带注释的组testNG测试,automated-tests,grouping,testng,Automated Tests,Grouping,Testng,我负责允许对其中一个ETL组件进行单元测试。我想使用testNG和通用java测试类以及testNG.xml中的测试定义(通过向类传递各种参数)来完成这项工作。Oracle和ETL人员应该能够在不更改java代码的情况下添加新的测试,因此,我们需要使用xml套件文件而不是注释 问题: 有没有一种方法可以在testng.xml中对测试进行分组?类似于如何使用注释进行分组 我是说 <group name="first_group"> <test> <clas
<group name="first_group">
<test>
<class ...>
<parameter ...>
</test>
</group>
<group name="second_group">
<test>
<class ...>
<parameter ...>
</test>
</group>
我已经检查了testng.dtd,发现类似的语法是不允许的。但是有允许分组的解决方法吗
提前感谢您可以在testng.xml中指定,然后使用-groups运行testng
不,这在目前是不可能的 根据经验,我不喜欢在XML中添加指向Java代码的信息,因为重构可能会悄悄地破坏整个构建 例如,如果重命名方法或类名,测试可能会神秘地开始中断,直到您记住还需要更新XML 请随意在testng用户邮件列表中列出,我们可以看看是否有人对这一特性感兴趣 -
Cedric谢谢,Brian。但这不是我想要的:我可以在单个元组中聚合组,而我需要在元组中对类进行分组。回到您的示例,问题是如何将特定的测试而不是其他组添加到每个brokenTests和checkinTest GroupsHanks,Cedric.是否存在允许在java代码之外进行测试分组的变通方法?目前,我能想到的最有吸引力的方法是为每个组创建xml测试套件。我在列表中建议了一种变通方法,我将在这里重复:您可以自己做一个预测试任务:实现一个代码生成器,以XML形式获取信息,获取相应的Java源文件,并生成一个TestNG源文件,其中所有注释都放在正确的位置。然后在该文件上运行TestNG。
<test name="Regression1">
<groups>
<run>
<exclude name="brokenTests" />
<include name="checkinTests" />
</run>
</groups>
....