테스트 중에 주어진 모의와 어떤 상호 작용도 없었 음을 Mockito와 검증하는 방법을 찾고 있습니다. 확인 모드 never()
을 사용하여 주어진 방법에 대해이를 달성하기는 쉽지만 아직 완전한 모의에 대한 해결책을 찾지 못했습니다.Mockito - 모의이 실행되지 않았 음을 확인하는 방법
실제로 달성하고 싶은 것은 테스트에서 콘솔에 아무것도 인쇄되지 않는다는 것을 확인하십시오. JUnit을 가진 일반적인 생각은 그렇게 간다 :
private PrintStream systemOut;
@Before
public void setUp() {
// spy on System.out
systemOut = spy(System.out);
}
@After
public void tearDown() {
verify(systemOut, never()); // <-- that doesn't work, just shows the intention
}
PrintStream
이 방법의 톤을 가지고 있으며, 정말 각을 확인하지 않으려는 확인 별개로 하나 하나 - ... 그리고 System.err
에 대해 동일한
쉬운 해결책이 있다면, 나는 좋은 테스트 커버 리지를 가지고 있기 때문에 소프트웨어 엔지니어 (그리고 나 자신)가 System.out.println("Breakpoint#1");
이나 e.printStacktrace();
같은 디버그 코드를 제거하도록 강요하기를 바란다.
나는이 접근법을 위해 할 수있는 최선처럼 보인다. 감사! (나는 실제로 도우미 클래스에서 대부분의 로직을 감추었으며 로거도 잠잠하게해야했다.) –