我正在编写 junit 测试用例并使用 ECLEMMA 来检查单元测试覆盖率。我在 ServerClass.class 中有以下代码此类正在设置服务器的状态。
public class ServerClass{
private boolean isStarted;
public static final String MESSAGE_START = "Started";
private void setStarted( boolean isStarted ) {
this.isStarted = isStarted;
}
public String start() {
setStarted( true );
return ServerClass.MESSAGE_START;
}
}
我的测试类中有一个测试用例:
@Test
public void startTest(){
ServerClass serverClass = new serverClass ();
assert("Started".equals( serverClass. start() )); // 3 of 4 branches missed
}
在 Eclipse 中,运行 eclemma 后,我在断言语句中得到一个黄点,并且代码覆盖率很低。请帮助我理解覆盖逻辑和解决方案。