单元测试-多线程测试

实际上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指的是线程池的大小

你可能感兴趣的:(单元测试-多线程测试)