У меня есть следующий фрагмент
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, не охватывается. Всегда отображается красным.
Я использую Эмму для покрытия кода. Любая идея, как можно удовлетворить покрытие кода для фактического метода класса и метода тестового класса.
Примечание: приведенный выше код приведен только для иллюстрации.