Aşağıdaki kodu:Bir Mockito alayının sırayla farklı eylemler gerçekleştirmesini nasıl sağlayabilirim?
ObjectMapper mapper = Mockito.mock(ObjectMapper.class);
Mockito.doThrow(new IOException()).when(mapper).writeValue((OutputStream) Matchers.anyObject(), Matchers.anyObject());
Mockito.doNothing().when(mapper).writeValue((OutputStream) Matchers.anyObject(), Matchers.anyObject());
try {
mapper.writeValue(new ByteArrayOutputStream(), new Object());
} catch (Exception e) {
System.out.println("EXCEPTION");
}
try {
mapper.writeValue(new ByteArrayOutputStream(), new Object());
} catch (Exception e) {
System.out.println("EXCEPTION");
}
beklenen çıkışı
İSTİSNA
doğru?
ama hiçbir şey elde
Sonra ben almak DoNothing sonra doThrow yaparsanız
İSTİSNA
İSTİSNA öyle son sahte olduğu gibi
Yani görünüyor Alınan o sırada ... alayları kayıt oldukları sırada almayı düşündüm. Ben bir taklidini üretmek için arıyorum
Onları zincirlemek zorunda olduğumu farketmedim ... ;-) –