単体テストをやってる時、カバレッジだけに気が行くことがあります。
ただ、カバレッジが低いメソッドは高品質ではないのですが
カバレッジ100%=仕様を満たすメソッドであるわけではありません。
public void test(boolean status) {
String msg = null;
if(status) {
msg = " " + status + " ";
}
return msg.trim();
}
上記のようなメソッドの場合、引数のstatusにtrueを設定したケースを実行すると
カバレッジ100%になりますが、statusにfalseを設定すると
NullPointerExceptionがthrowされます。
さて、これでも品質は良いのでしょうか?