私は最近、重大な JUnit テストの問題を抱えるグループに参加しました。問題の 1 つは 8 分間のテストです。テストにはいくつかのセクションがあります。それぞれが org.springframework.context.ApplicationEventPublisher.publishEvent() に続いてさまざまな時間の Thread.sleep() を呼び出し、条件をテストします。
このアプローチには明らかな問題がいくつかあります。Thread.sleep() 呼び出しのタイミングが脆弱です。
ビジー状態のマシンではテストが失敗することがあります。と
テストが失敗しない場合、テストに非常に時間がかかりすぎます。
これらのイベントが処理されるプールはテストのためにアクセス可能ですか? また、イベント カスケードが停止したかどうかを確認するための呼び出しはありますか?