实际上Junit是不支持多线程测试的。。。
全文完。
等等!还有办法!!
- 为什么Junit不支持多线程测试?
因为Junit的底层实现,主线程是通过System.exit退出用例的;此时JVM进程终止,测试代码中的其他线程自然也无法执行。
- 使用GroboUtils
GroboUtils是一个Junit的扩展工具包,为Junit添加了多线程测试的一些功能
由于我的项目是maven构建的,但是GroboUtils对maven的支持有限,比较麻烦,因此没有深入去研究。 - 使用TestNG
使用TestNG跑多线程很简单,添加好注解参数即可:
@org.testng.annotations.Test(invocationCount = 10, threadPoolSize = 3)
invocationCount指的是方法运行的次数,threadPoolSize指的是线程池的大小