JUnit
を使用してメソッドのテストケースを作成しています。ブランチカバレッジを改善するためにnull
の条件をカバーしようとしています。問題は、null
を引数として渡して、テストケースがNullPointerException
であることが明らかですが、それでNull
条件のブランチカバレッジをどのようにカバーするのでしょうか。 path
はString
のパラメータで、if(path != null && path.length() > 0)
に記載したいと思います。私は完全なテストケースを書いていませんが、null
の状態を書く方法を混乱させています。Null値でより良いブランチカバレッジを取得する方法
メソッドパスがnullのとき、事前に
@Test
public void testTranslateWebContextPathToVersionNo() throws Exception {
TestQuartzROSServiceContextUtil util = new TestQuartzROSServiceContextUtil();
util.translateWebContextPathToVersionNo(null);
}
おかげ
なぜそれができないことがわかっているときにヌルであるかどうかチェックしていますか?ヌルチェックをメソッドの先頭に移動するか、それを削除します。 –
@マークとトム。これが私がこの質問をした理由です。私はそれが動作を知っているが、それでも 'JUnit'を書く必要があり、' path!= null'のブランチカバレッジを50%取得しています。 –
@MarkChorleyが述べたように、 'path' **はその行でnullにはなれません。 null入力をキャッチするには、メソッドの先頭に入力する必要があります。 – shmosel