Java 以指定的顺序运行Maven项目的JUnit测试
我正在做一个项目,根据Junit测试对任何Maven项目的语句覆盖率,对Junit测试进行优先级排序(我从Git中随机挑选项目)。到目前为止,我能够得到一个优先测试的列表 我不知道如何让Maven项目按照我提出的顺序运行测试 我做了一些搜索,发现Maven surefire插件支持使用runOrder标记进行排序。但是顺序是固定的-字母顺序/反向等等。我还遇到了TestNG,它支持XML文件上指定的顺序 我无法修改目标项目中的源代码(因为源代码不是我写的)。我只能在需要时添加新的配置文件或编辑POM.xml 我怎样才能做到这一点?如果您能为我提供任何有用的资源,我将不胜感激Java 以指定的顺序运行Maven项目的JUnit测试,java,maven,junit,maven-surefire-plugin,Java,Maven,Junit,Maven Surefire Plugin,我正在做一个项目,根据Junit测试对任何Maven项目的语句覆盖率,对Junit测试进行优先级排序(我从Git中随机挑选项目)。到目前为止,我能够得到一个优先测试的列表 我不知道如何让Maven项目按照我提出的顺序运行测试 我做了一些搜索,发现Maven surefire插件支持使用runOrder标记进行排序。但是顺序是固定的-字母顺序/反向等等。我还遇到了TestNG,它支持XML文件上指定的顺序 我无法修改目标项目中的源代码(因为源代码不是我写的)。我只能在需要时添加新的配置文件或编辑P
TIA您可以为此创建并使用JUnitTestSite
@RunWith(Suite.class)
@SuiteClasses({Test1.class,
Test2.class
})
public class YourTestSuite {
}
测试套件按照@SuiteClasses注释中提到的顺序运行测试用例
如果您想通过maven目标像maven测试目标一样按顺序运行测试用例,您可以使用这个测试套件。只需排除测试用例,并通过下面给出的插件配置包含测试用例
maven surefire插件
2.6
**/*Test.java
**/*TestSuite.java
${project.build.sourceDirectory}
${project.build.testSourceDirectory}
错误的
总是
为什么需要按特定顺序运行测试?我想看看按语句覆盖率顺序运行测试时的性能(例如,识别错误的速率)。谢谢。我将尝试@SuiteClasses选项。你能告诉我为什么我们需要这个选项吗?这只会订购课程。有没有办法对测试用例(带有测试注释的方法)进行排序?我想没有办法对每个测试进行排序。但是你的回答确实帮助我安排了考试课程。谢谢。没有选择套件中指定的测试类的顺序?我错过什么了吗?