Я использую структуру Mockito для создания объектов Mock в моих тестах JUnit. Каждый макет знает, какие методы были вызваны на него, поэтому во время моих тестов я могу написать
verify(myMock, atLeastOnce()).myMethod();
Мне интересно, сохранится ли это внутреннее издевательство над тем, что он назвал, в моих тестах? Если он сохраняется, тогда я могу получать ложные срабатывания при использовании одного и того же метода verify
в двух тестах.
Пример кода
@RunWith(MockitoJUnitRunner.class)
public class EmrActivitiesImplTest {
@Mock private MyClass myMock;
@Before
public void setup() {
when(myMock.myMethod()).thenReturn("hello");
}
@Test
public void test1() {
// ..some logic
verify(myMock, atLeastOnce()).myMethod();
}
@Test
public void test2() {
// ..some other logic
verify(myMock, atLeastOnce()).myMethod();
}
}
Состояние mock сохраняется - test2 будет проходить независимо, поскольку проверенный метод проверки test
Состояние mock reset - test2 не будет работать, если myMock.myMethod() не вызван