Предположим, что у меня есть класс;Шпион параметр метода во время тестирования с Mockito?
public class FooBar {
public int getMethod(List<String> code){
if(code.size() > 100)
throw new Exception;
return 0;
}
}
, и у меня есть класс испытаний следующим образом;
@RunWith(PowerMockRunner.class)
@PrepareForTest(FooBar.class)
public class FooBarTest{
FooBar fooBarInstance;
@Before
public void setUp() {
//MockitoAnnotations.initMocks(this);
fooBarInstance = new FooBar();
}
@Test(expected = Exception.class)
public void testGetCorrelationListCodesParameter() {
List<String> codes = Mockito.spy(new ArrayList<String>());
Mockito.doReturn(150).when(codes).size();
fooBarInstance.getMethod(codes);
}
}
Как я могу сделать этот метод тестирования броском исключения? Я занимаюсь часами, чтобы сделать это. Хорошо, спасибо.
Какой именно звонок должен вызывать исключение? –
code.size() должен возвращать более 100? – quartaela
Вы пробовали это без Powermock? Или 'when (codes.size()). ThenReturn (150)'. И почему вы не используете простой макет списка вместо шпиона? –