私は、JavaでSeleniumWebDriverを利用するJUnitテストスクリプトを開始するためのGUIをセットアップするプログラムを書いています。GUIは、バックグラウンドでJUnitテストのキューを設定します(またはそう信じています)。GUIで、「テストの停止」ボタンを使用して、キューに残っている今後のすべてのJUnitテストの実行を停止したいのですが、タイムリーに実行したいと思います。現在、すべてのテストを停止するコードがありますが、190個のテストがキューにある場合、キュー内の単一のテストの実行を停止するのに1〜2秒以上かかります。これは、多くのテストを考慮すると、タイムリーでも消費者にもわかりません。 :
Field field = JUnitCore.class.getDeclaredField("fNotifier");
field.setAccessible(true);
RunNotifier runNotifier = (RunNotifier) field.get(runner);
runNotifier.pleaseStop();
JUnitテストのキューをクリアする方法、またはGUIを強制終了せずにスクリプトの実行を停止する特定のスレッドを閉じる方法はありますか?
最近これを再検討した後、質問の実行通知機能が十分に高速に動作することがわかりました。テストの停止アクション中に最近最適化したサブプロセスが多すぎます。通知機能を実行すると、キューに入れられたテストで、ほぼ瞬時に実行できないことを認識できるようになります。
ただし、これは技術的には、キューに入れられたJUnitテストの実行を少なくとも開始しようとせずに停止する方法の質問には答えません。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加