Eclipse(Ubuntu)でJUnit(4)を使用していくつかのテストを実行しようとしたときに問題が発生しました。エラーがスローされなかった場合に通知する関数testEmptyTitle()
を持つ単純なテストクラスを持っています。JUnitがExpectedExceptionメッセージを表示しない
package tests;
import workshop.WorkshopPaper;
import static org.junit.Assert.*;
import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
public class WorkshopPaperTest {
@Rule
public ExpectedException thrown = ExpectedException.none();
@Test(expected=IndexOutOfBoundsException.class)
public void testEmptyTitle() {
thrown.expect(IndexOutOfBoundsException.class);
thrown.reportMissingExceptionWithMessage("No exception thrown");
}
}
テストを実行しようとすると、"No exception thrown"
メッセージが表示されません。 これは私のJUnitのインタフェースがテストを実行した後、次のようになります。
は、この問題を解決する方法はありますか?予想される例外ルールを使用して、あなたはまた、例外をスローするために、任意のクラスのインスタンスを呼び出していない、あるいは単にthrow new IndexOutOfBoundsExceptions();
実際にテストのどこかで例外をスローする必要があるかもしれないと思います。 –