Я ищу способ проверить с помощью Mockito, что во время теста не было никакого взаимодействия с данным макетом. Этого легко добиться для заданного метода с режимом проверки never()
, но я пока не нашел решения для полного макета.
Чего я на самом деле хочу добиться, :проверить в тестах, что ничего не выводится на консоль. Общая идея с 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();
перед фиксацией изменений.