java与多线程并行运行多个测试
任何人都可以说明,我应该如何与多线程并行实现多个测试,以便快速获得测试结果。目前,我的代码一个接一个地执行测试,这在测试过程中耗费了很多时间
public class Test{
@Test
public void test1(){ }
@Test
public void test2(){}
}
到目前为止,我一直遵循这个链接JUnit 4 TestRule to run a test in its own thread,在这里我的测试可以在线程中执行,但一个接一个地执行,这不符合我的目的。有什么建议吗
# 1 楼答案
只有JUnit没有标准的方法来实现这一点。 您需要将此多线程运行程序添加到项目:https://gist.github.com/djangofan/4947053
之后,您可以通过向类添加注释并行运行其所有测试:
# 2 楼答案
正如其他答案所示,您可能能够使用JUnit满足您的需求。若您有选择另一个测试框架的灵活性,那个么您可以尝试使用TestNG,它的特性集比JUnit更大。从长远来看,这也可能有帮助,值得一试。对于您的特定需求,您可以尝试以下链接与TestNGhttp://howtodoinjava.com/2014/12/02/testng-executing-parallel-tests/并行运行测试
# 3 楼答案
如果使用maven,可以将maven构建配置为在单独的线程中运行每个方法。更多信息请参见https://maven.apache.org/surefire/maven-surefire-plugin/examples/fork-options-and-parallel-execution.html
像这样的方法应该会奏效: