如果我有多个测试类,其中有多个测试优先级,我如何使用maven运行测试?

时间:2016-10-17 14:17:30

标签: java maven web-testing

我有6个测试类,每个我有大约5个测试,它们被优先考虑。 当我使用maven运行测试套装时,测试类以某种方式组合。 虽然测试没有从测试类中完成,但是另一个测试开始,并且我的测试失败了。 有没有办法,先运行1个测试类,先运行所有测试,然后在第一个类完成后运行第二个类,等等? 注意:我在终端中使用mvn命令运行测试。

2 个答案:

答案 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