如何让 TestNG 在关闭之前等待我的测试完成
How to make TestNG wait for my test to complete before shutting it down
我有一个稍微复杂的测试结构,请耐心等待,
我有一系列 testng 测试用例,在每个测试用例中我收集了一些关于测试的数据(不是直接收集,而是使用我编写的库)。这个库一旦获得数据就会在另一个线程上启动分析程序,主线程继续执行其余的测试。 (我这样做是因为分析稍微有点耗时,不想主测试阻塞)。
最后只剩下几个分析程序线程,但testng仍然关闭测试,无法分析最后几个测试用例的数据。
我不想在最后硬编码睡眠。有没有一种方法可以指示 TestNG 等到此测试(直接或通过关联库)生成的任何线程完成?
您通常可以执行以下操作之一:
1) 通过使用
让主线程等待另一个线程
Thread.join();
2) 将另一个线程设为非守护线程或用户线程:link
Thread.setDaemon(false);
当只有线程运行都是守护进程时Java虚拟机退出threads.This线程启动前必须调用方法
我有一个稍微复杂的测试结构,请耐心等待,
我有一系列 testng 测试用例,在每个测试用例中我收集了一些关于测试的数据(不是直接收集,而是使用我编写的库)。这个库一旦获得数据就会在另一个线程上启动分析程序,主线程继续执行其余的测试。 (我这样做是因为分析稍微有点耗时,不想主测试阻塞)。
最后只剩下几个分析程序线程,但testng仍然关闭测试,无法分析最后几个测试用例的数据。
我不想在最后硬编码睡眠。有没有一种方法可以指示 TestNG 等到此测试(直接或通过关联库)生成的任何线程完成?
您通常可以执行以下操作之一:
1) 通过使用
Thread.join();
2) 将另一个线程设为非守护线程或用户线程:link
Thread.setDaemon(false);
当只有线程运行都是守护进程时Java虚拟机退出threads.This线程启动前必须调用方法