Я пишу тестовый пример JUnit
для метода получения покрытия Line и Branch. Метод под тестированием вызывает другой метод типа Boolean
, и я не могу покрыть эту часть, потому что в сообщении Cobertura
показана следующая красная.Как протестировать метод с логическим типом возвращаемого значения в Java с помощью JUnit
if (getLoggingHandler().isGeneralDebugEnabled())
Метод тестируемой:
public void logMethodEndDebug(ILoggable l, String c, String m, String msg, Object... args) {
if (getLoggingHandler().isGeneralDebugEnabled()) {
String cf = ComponentUtils.createControlFrag(l, c);
StringBuilder sb = new StringBuilder(cf);
sb.append(m + StringConstants.SPACE + LogConstants.END);
sb.append(StringConstants.BRACE_OPEN + String.format(msg, args) + StringConstants.BRACE_CLOSE);
getLoggingHandler().handleGeneralDebug(sb.toString());
}
}
тест JUnit:
@Test
public void testLogMethodStartDebug() throws Exception {
String var1 = "var1";
String var2 = "var2";
String var3 = "var3";
Object[] object = new Object[] {"var4"};
BaseComponent baseComponent = new BaseComponent();
baseComponent.setLoggingHandler(new TestLoggingHandler());
ILoggable loggable = new ServiceContext();
baseComponent.logMethodEndDebug(loggable, var1, var2, var3, object);
assertTrue(baseComponent.getLoggingHandler().isGeneralDebugEnabled());
}
Есть ли способ, чтобы покрыть эту getLoggingHandler().isGeneralDebugEnabled()
?
Спасибо,
Ты потрясающий Блейк. Мокито помог мне, и теперь он покрыт. Огромное спасибо. –