GroboUtils
GroboUtils 旨在扩展Java的测试可能性。
它包含许多子项目,它们通过Java实验测试的不同方面。
GroboUtils中包含的流行工具包括多线程测试,分层单元测试和代码覆盖工具。
此工具集在MIT许可下发布。
快速开始
Junit本身是不支持普通的多线程测试的,这是因为Junit的底层实现上,是用System.exit退出用例执行的。
JVM都终止了,在测试线程启动的其他线程自然也无法执行。
maven jar 引入
<dependency>
<groupId>net.sourceforge.groboutils</groupId>
<artifactId>groboutils-core</artifactId>
<version>5</version>
</dependency>
测试代码
@Test
public void testThreadJunit() throws Throwable {
//Runner数组,相当于并发多少个。
TestRunnable[] trs = new TestRunnable [10];
for(int i=0;i<10;i++){
trs[i]=new ThreadA();
}
// 用于执行多线程测试用例的Runner,将前面定义的单个Runner组成的数组传入
MultiThreadedTestRunner mttr = new MultiThreadedTestRunner(trs);
// 开发并发执行数组里定义的内容
mttr.runTestRunnables();
}
private class ThreadA extends TestRunnable {
@Override
public void runTest() throws Throwable {
// 测试内容
myCommMethod2();
}
}
public void myCommMethod2() throws Exception {
System.out.println("===" + Thread.currentThread().getId() + "begin to execute myCommMethod2");
}
参考资料
http://groboutils.sourceforge.net/
https://blog.csdn.net/sanniao/article/details/52640725