Junit单元测试对线程测试没反应如何解决

发表于:2016-12-07 11:09

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Animationer    来源:51Testing软件测试网采编

  今天还想简单写写线程的东西,结果刚刚写完我就懵逼了。
  结果啥都没有输出,而用主方法运行就可以输出。没办法,只有度年来寻求自己的答案了
  结果各方面的了解,我算是有个了解了.
  首先来看看代码
package com.mendale.Test;
import java.util.Date;
import org.junit.Test;
public class Test1 {
@Test
public void test() {
MyTime mt = new MyTime();
mt.start();
}
public static void main(String[] args) {
MyTime mt = new MyTime();
mt.start();
}
}
class MyTime extends Thread{
public void run(){
boolean flag=true;
while(flag){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
Date d=new Date();
System.out.println(d);
}
}
}
  如果你用单元测试你会发现什么也没输出,同时也没报错;这个时候你再用主方法测试你就会发现竟然有输出,竟然有输出了!!! 这个问题也是让我纠结了很久。
  回想一下:
  我们常用的方法其实是一个精灵线程(即守护线程:它是在保证其他线程运行完之后,然后也就over了)。而单元测试我上网了解了一下它不是一个精灵线程
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号