开发中我们都要用到多线程,有时候我们要测试一个异步的方法,在main方法里起一个线程,主线程会等待子线程执行完成后退出,这样主线程、子线程的内容都会执行,但是当我们用Junit单元测试来搞得时候就会有问题,因为根据Junit代码,在测试方法运行成功后就会执行System.exit方法退出,因此主线程不会等子线程执行结束,相当于在main方法中的最后加了一句System.exit(0),想要避免这种情况的最简单的方法就是在Junit单元测试的主线程执行的最后sleep一段时间,等待子线程结束,然而等待多久又是个问题;另一种方式是使用线程通信工具,当然也有第三方的工具提供相应功能,具体的参考博客http://mushiqianmeng.blog.51cto.com/3970029/897786/
多线程测试的坑
最新推荐文章于 2024-05-11 09:42:24 发布