Ich schreibe einen JUnit
Testfall für eine Methode, um eine Linien- und Zweigabdeckung zu erhalten. Die zu testende Methode ruft eine andere Methode vom Typ Boolean
auf, und ich kann diesen Teil nicht abdecken, da die folgende Zeile im Bericht Cobertura
rot anzeigt.So testen Sie eine Methode mit einem booleschen Rückgabetyp in Java mit JUnit
if (getLoggingHandler().isGeneralDebugEnabled())
Methode im Test:
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:
@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());
}
Gibt es eine Möglichkeit, diese getLoggingHandler().isGeneralDebugEnabled()
zu decken?
Danke,
Sie sind fantastisch Blake. Mockito hat mir geholfen und jetzt ist es bedeckt. Ich danke dir sehr. –