У меня есть тестовый класс (на основе TestNG), где я использую Mockito.verify
для объекта-шпиона.Сброс Mockito Spy
Это работает:
public class Program {
@Spy
private TestObject testObject;
@Test
public void test1() {
testObject.makeSth();
verify(testObject, only()).someMethodNeedToBeChecked();
}
}
Но здесь:
public class Program {
@Spy
private TestObject testObject;
@Test
public void test1() {
testObject.makeSth();
verify(testObject, only()).someMethodNeedToBeChecked();
}
@Test
public void test2() {
// Some different scenario
testObject.makeSth();
verify(testObject, only()).someMethodNeedToBeChecked();
...
}
}
я получаю исключение Mokito, что у меня есть еще, что один вызов метода someMethodNeedToBeChecked
. Конечно, я попытался добавить Mockito.reset(testObject)
, но мне это совсем не помогло.
Как я могу сбросить объект-шпион, если мне нужно проверить один и тот же метод в нескольких тестах?
Я задал подобный вопрос, по меньшей http://programmers.stackexchange.com/questions/188299/is-this-an- целесообразное использование-на-mockitos-сброс-метод. Просто FYI, хотя это связано с ложным не шпионом. –
Где вы пытались добавить вызов к 'reset'? Может быть, отредактируйте свой код, чтобы показать свою попытку, но прокомментировал? –
Я приложил только пример прототипа, сброс, который я попытался сделать в @BeforeMethod \ @BeforeClass, то же самое с @After, даже перед проверкой - это не сработало. Насколько я понимаю, это проблема только со шпионами, а сброс - только для макетов. –