Цикл юнит-теста выполнялся определенное количество раз - PullRequest
1 голос
/ 13 октября 2019

Допустим, у меня есть метод, похожий на этот

static void forLoop(){
    for (int j = 0; j < 10; j++) {
        System.out.println(j);
    }
}

Если мне нужно написать модульный тест, чтобы проверить, что цикл for запускался 10 раз. Возможно ли это сделать?

Мне задали этот вопрос в интервью.

1 Ответ

2 голосов
/ 13 октября 2019

Вы можете использовать System.setOut, чтобы перенаправить вывод в другой PrintStream (например, ByteArrayOutputStream ), вызвать метод, а затем изучить содержимое PrintStream.

К тому времени, как @Andy Turner указывает в комментариях, вам нужно будет убедиться, что ваши тесты не работают параллельно друг с другом или с чем-либо еще, что может записывать в System.out.

(я думаю, это ужасный вопрос для интервью.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...