有没有办法停止排队的JUnit测试并仍然保持JavaFX Gui运行?

Bre*_*nen 7 java junit selenium multithreading webdriver

我正在编写一个程序来设置一个GUI来启动在Java中使用Selenium WebDriver的JUnit测试脚本.GUI在后台设置了一个JUnit测试队列(或者我相信).在GUI上,我想利用一个"停止测试"按钮来阻止仍在队列中的所有未来JUnit测试执行,但我想及时做到这一点.我目前有代码可以停止所有测试,但是如果队列中有190个测试,那么当你考虑很多测试时,停止队列中的单个测试需要花费1-2秒来执行,这对于不及时和消费者友好:

Field field = JUnitCore.class.getDeclaredField("fNotifier");
field.setAccessible(true);
RunNotifier runNotifier = (RunNotifier) field.get(runner);
runNotifier.pleaseStop();
Run Code Online (Sandbox Code Playgroud)

有没有办法清除JUnit测试的队列或要关闭的特定线程,这将停止脚本的执行而不会杀死GUI?

Bre*_*nen 0

最近重新审视这个问题后,我发现我的问题中的运行通知程序运行得足够快,我最近在停止测试操作期间优化了太多子进程。现在,运行通知程序允许排队的测试意识到它们几乎无法立即运行。

不过,从技术上讲,这并不能回答如何阻止排队的 JUnit 测试执行而不至少尝试启动它们的问题。