1

これはあまりにも簡単で明白に思えますが、以下をテストする方法がわかりません。

私のJavaメソッド:

public void doSth(final Foo foo) {
    assert foo != null;
    ..
}

私のテスト:

 @Test
 public void testAssertion() {
      doSth();
      doSth(new Foo());
 }

などでかなり多くのことをテストできますが、そのアサートが否定的assertEqualsである場合に真を与えるテストケースを作成するにはどうすればよいですか?foo != null;

私が今持っているテストは、アサーションの両方のケースで緑色になりますが、アサーションが失敗したかどうかをキャッチできません。

コードのテスト カバレッジを 100% にして、この行で何か意味のあることをテストしたいと考えています。

4

2 に答える 2

7

assertアサーションが false の場合、 AssertionErrorをスローします。

引数が のときにアサーションが発生することをテストしたい場合は、アノテーションの引数をnull使用して実行できます(JUnit 4+ が必要)。expected@Test

@Test(expected = AssertionError.class)
public void testAssertion() {
    doSth(null);
}
于 2016-02-11T08:53:51.667 に答える