0

前提条件: VM param -ea が有効になっている

ソースコードの例:

assert booleanVariable;

booleanVariable が false の場合、AssertionError がスローされます。

FALSE booleanVariable になる JUnit テストを作成したので、プラグインを使用せずに JUnit テストを停止する代わりにエラーをキャッチする方法。アプリケーションはスレッド化されたモジュールとして機能することに注意してください。したがって、JUnit テストは、以下のような一般的な postMessage メソッドを呼び出します。

@Test
    public void myTest(){
        Message invalidMessage = new Message("I am invalid");
        //somewhere in threadedModule source code would throw AssertionError 
        //after reading from its inputQueue
        threadedModule.postMessage(invalidMessage );
        assertNotNull(onputQueue.waitForNextMessage(timeOutTime,timeOutMessage));
}

ありがとうございました!

4

1 に答える 1

1

これは、作成したスレッド化されたモジュールが JUnit テスト スレッドとは別のスレッドで実行されているため、実現できません。try catch ブロックは、独自のスレッド内でスロー可能なもののみをキャッチできます。

于 2013-10-31T17:22:34.620 に答える