我有一个片段如下
public void setTarget(String target) throws TargetException{
if(target = null){
throw new TargetException();
}
this.target = target;
}
public void getTarget(){
return this.target;
}
我正在对上面的代码片段进行单元测试
@Test(expected = TargetException.class)
public void testTargetSetting() throws TargetException{
//For coverage of code in if loop
String target = null;
MyBean.setTarget(target);
//For coverage of code in else loop
target="abc";
MyBean.setTarget(target);
}
现在上面代码的问题是要测试的类的代码覆盖率显示为 100%,即方法 setTarget。它同时出现在 if 和 else 块中。但是没有覆盖测试类方法即testTargetSetting 的覆盖范围。它始终显示为红色。
我正在使用 Emma 进行代码覆盖。知道如何满足实际类方法和测试类方法的代码覆盖率。
注意:上面给出的代码仅用于说明。