Junit 多线程测试
2019-08-26 06:22:06来源:博客园 阅读 ()
Junit 多线程测试
Junit不能用来做多线程测试,因为Junit不支持多线程。
Junit的TestRunner的main方法源码
public static void main(String args[]) {
TestRunner aTestRunner = new TestRunner();
try {
TestResult r = aTestRunner.start(args);
if (!r.wasSuccessful()) {
System.exit(FAILURE_EXIT);
}
System.exit(SUCCESS_EXIT);
} catch (Exception e) {
System.err.println(e.getMessage());
System.exit(EXCEPTION_EXIT);
}
}
从源码可以看出来,Junit是监控的main线程,一旦main线程执行结束就直接exit了,根本不管子线程的死活。
知道了Junit的原理,我觉得可以尝试实现一下支持多线程,不就是让main线程不要退出嘛,简单。
public class MyTest {
private static final int LEN = 20;
//存储线程数量Active Thread Count
private static final int ATC = Thread.activeCount();
@Test
public void testCase(){
List<String> list = new ArrayList<>();
for(int i = 0;i<LEN;i++){
new Thread(() -> {
System.out.println(Thread.currentThread().getName());
},"T"+String.valueOf(i)).start();
}
//只要线程数量比ATC多就说明,自己创建的线程还有没执行完的。
while(Thread.activeCount() > ATC){}
}
}
曲线救国
原文链接:https://www.cnblogs.com/macho8080/p/11393847.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:Java面向对象特性总结
- 最详细的java多线程教程来了 2020-06-08
- 系统化学习多线程(一) 2020-06-08
- Mybaties简单实例测试及注意问题 2020-06-07
- 单元测试 springboot-test 2020-06-07
- 多线程:生产者消费者(管程法、信号灯法) 2020-06-01
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash