私は再生1.2.4を使用しています。単体テストを設定してジョブをテストしようとしています。 私のジョブは2秒ごとに実行され、いくつかの条件に基づいて特定のオブジェクトのステータスが変更されます。これが私がこれをするのに使うものです。スレッドをブロックせずに単体テストを一時停止する方法はありますか?
@Every("2s")
public class GameScheduler extends Job {
public void doJob(){
//Fetch of object from db and status change based on conditions happens here
}
}
私のユニットテストでは今
、Iセットアップこれらの条件が、私はテストがセットアップオブジェクトの1つを取得する前に3秒と言う待ってアサートが仕事かどうかを確認するために、その状態に等しいやりたいです...まあ、それは仕事だった。
私は
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
よう
pause(3000);
か何かを使用している場合は、テストが停止しますが、仕事も停止。仕事とテストが同じスレッド上にあるようです。仕事を止めることなくテストを一時停止する方法はありますか?コントローラーのawait()メソッドのようなもの
唯一の問題は...直接invokationのための別のスケジューラの実行のために一度、現実チェックmarcospereiraため – mericano1
おかげで二度実行中のジョブである可能性があります。 – Alain