我有6个测试类,每个我有大约5个测试,它们被优先考虑。 当我使用maven运行测试套装时,测试类以某种方式组合。 虽然测试没有从测试类中完成,但是另一个测试开始,并且我的测试失败了。 有没有办法,先运行1个测试类,先运行所有测试,然后在第一个类完成后运行第二个类,等等? 注意:我在终端中使用mvn命令运行测试。
答案 0 :(得分:1)
每个类都应该有自己的设置和拆除机制,以便不同测试类的测试完全相互独立。如果多个测试使用昂贵的公共资源,请将这些测试放在一个类中,并在设置方法中创建资源。
如果您绝对需要按给定顺序调用某些方法,则必须编写一个调用这些方法的测试方法(按指定的顺序)。但是你应该尽量避免这种情况。
答案 1 :(得分:1)
我有大约5项测试,优先考虑
您可能正在使用 TestNG ,对于每种测试方法都有类似的内容:
@Test( priority = 1 )
如果是这种情况,您应该将其添加为标记,因为它非常相关。
测试类以某种方式组合
您可能在并行中运行它们。
有没有办法,先运行1个测试类,先运行所有测试,然后在第一个类完成后运行第二个类,等等
是。运行类顺序!
找到您定义测试套件的 testng.xml 之类的XML文件。它应该包含这样的内容:
<suite name="YourSuite" parallel="classes" thread-count="6">
删除parallel="classes" thread-count="6"
以实现上述描述。
有关其他详细信息,请参阅TestNG - parallel tests。