Sto testando un metodo con un'eccezione prevista. Devo anche verificare che sia stato chiamato un codice di pulizia (su un oggetto fittato) dopo che l'eccezione è stata lanciata, ma sembra che la verifica sia stata ignorata. Ecco il codice. Sto usando Junit ExpectedException
Rule
per verificare l'eccezione prevista.Mockito verifica dopo l'eccezione Junit 4.10
@Rule
public ExpectedException expectedEx = ExpectedException.none();
@Test
public void testExpectedException()
{
MockedObject mockObj = mock(MockedObj.class);
MySubject subject = new MySubject(mockedObj);
expectedEx.expect(MyException.class);
expectedEx.expectMessage("My exception message.");
subject.someMethodThrowingException();
verify(mockObj).
someCleanup(eq(...));
}
Sembra che lo verify
venga completamente ignorato. Non importa quale metodo inserisco nel verify
, il mio test sta passando, che non è quello che voglio.
Qualche idea del perché questo è felice?
Controllare il mio punto di mezzo ... penso che avrebbe funzionato, ma sarebbe ingoiare il messaggio ExpectedException. Grazie per il complimento però! –
Mancato quello - probabilmente giusto. –
Finalmente funziona bene per me - esegue la verifica e rileva ancora l'eccezione prevista e il suo messaggio –