내 JUnit 테스트에서 모의 객체를 만들 때 Mockito framework을 사용하고 있습니다. 그것이라는 것을이 내부 모의 지식은 내 테스트를 통해 지속됩니다 만약 내가 궁금각 테스트마다 모의 객체가 재설정됩니까?
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();
}
}
모의 상태가 유지되는 코드 예 - TEST1 년대 방법
통과 확인 이후 TEST2 관계없이 합격모의 상태를 리셋 - myMock.myMethod()가 아닌 경우 TEST2가 실패
내가 잘못하지 않았다면, 모든 테스트를하기 전에 한 번 설정이 호출됩니다. 그렇습니다. 모든 테스트에서 동일한 모의 객체가 사용됩니다. 각 테스트 메소드의 시작 부분에 해당 객체를 생성해야합니다. –