JUnit 模拟多线程 逻辑不执行

kyaa111 2年前 ⋅ 701 阅读
@Test
public void test() {
    new Thread() {
             @Override
             public void run() {
               //logic
             }
    }.start();

    new Thread() {
             @Override
             public void run() {
               //logic
             }
    }.start();
}

run方法内不会执行

Junit本身是不支持普通的多线程测试的,这是因为Junit的底层实现上,是用System.exit退出用例执行的。JVM都终止了,在测试线程启动的其他线程自然也无法执行。