Java 使用多线程并行运行多个测试
任何人都可以说明,我应该如何与多线程并行实现多个测试,以便快速获得测试结果。目前,我的代码一个接一个地执行测试,这在测试过程中耗费了很多时间Java 使用多线程并行运行多个测试,java,multithreading,junit4,Java,Multithreading,Junit4,任何人都可以说明,我应该如何与多线程并行实现多个测试,以便快速获得测试结果。目前,我的代码一个接一个地执行测试,这在测试过程中耗费了很多时间 public class Test{ @Test public void test1(){ } @Test public void test2(){} } 到目前为止,我一直遵循这个链接,在这里我的测试可以在线程中执行,但是一个接一个地执行,这不符合我的目的。有什么建议吗 只有JUnit没有标准的方法来实现这一点。 您需
public class Test{
@Test
public void test1(){ }
@Test
public void test2(){}
}
到目前为止,我一直遵循这个链接,在这里我的测试可以在线程中执行,但是一个接一个地执行,这不符合我的目的。有什么建议吗 只有JUnit没有标准的方法来实现这一点。 您需要将此多线程运行程序添加到项目中: 之后,您可以通过向类添加注释并行运行其所有测试:
@RunWith (MultiThreadedRunner.class)
如果使用maven,可以将maven构建配置为在单独的线程中运行每个方法。有关更多信息,请访问 像这样的方法应该会奏效:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<parallel>classesAndMethods</parallel>
<threadCount>20</threadCount>
</configuration>
</plugin>
org.apache.maven.plugins
maven surefire插件
类别和方法
20
如其他答案所示,JUnit可以满足您的需求。若您有选择另一个测试框架的灵活性,那个么您可以尝试使用TestNG,它的特性集比JUnit更大。从长远来看,这也可能有帮助,值得一试。对于您的特定需求,您可以尝试以下链接以与TestNG并行运行测试您的测试是否直接或间接使用了线程安全的所有类?可能重复:或此: