【发布时间】:2014-04-19 13:53:29
【问题描述】:
我正在尝试使用 jmockit 增加以下方法的代码覆盖率 -
下面是我在 DataLogger 类中的方法,我正在尝试增加覆盖率 -
public void logDebug(final Object... objects) {
if (m_logger.isDebugEnabled() && objects != null) {
m_logger.debug(message(objects));
}
}
下面是我的isDebugEnabled -
public boolean isDebugEnabled() {
return m_logger.isDebugEnabled();
}
如果我运行以下测试,我的 cobertura 覆盖率报告会以某种方式显示为 Conditional Coverage 25% [1/4]。
@Test
public void testLogDebug() {
DataLogger logger = DataLogger.getInstance(ClientTest.class);
logger.logDebug(this);
logger.logDebug();
new MockUp<DataLogger>() {
@Mock
public boolean isDebugEnabled() {
return true;
}
};
logger.logDebug(this);
new MockUp<DataLogger>() {
@Mock
public boolean isDebugEnabled() {
return false;
}
};
logger.logDebug(this);
logger.logDebug((Object) null);
}
还有什么我应该做的吗?
【问题讨论】:
标签: java unit-testing cobertura jmockit