2013-05-21 13 views
9

です。シャットダウンフックを追加する方法があります。私はフックで実行されるコードが呼び出される(JUnitの経由)をテストする必要があります。JUnit4:シャットダウンフックのテストは

public void myMethod(){ 
    Runtime.getRuntime().addShutdownHook(new Thread() { 

     @Override 
     public void run() { 
      ... code to test ... 
     } 
    }); 
} 

私はユニットテストでシャットダウンをシミュレートすることができますどのように?

答えて

6

私はあなたがそれをテストできるとは思わない。代わりに、呼び出されたときにコードが正しく動作することをテストしてください(単体でテストすることにより)。その後、Javaが適切なタイミングでコードを呼び出すことを信頼してください。

I.e.コードを別のクラスに展開してThreadに拡張し、ユニットテストでrun()を実行して動作をテストします。

+0

解決策がない場合は、説明した方法でコードをテストし、いつでも呼び出されるようにフックを追加する方法を模倣する別のテストを作成します。ありがとうございました –

関連する問題