JUnitCore.runClasses ничего не печатает

У меня есть тестовый класс, который я пытаюсь выполнить от основного метода со следующим кодом:

Result r = org.junit.runner.JUnitCore.runClasses(TestReader.class);

то, когда я исследую Объект результата I, видит, что 5 тестов были запущены, но ничто не печатается на экране.

Я должен сделать что-то еще для получения вывода?

9
задан Grégoire 22 April 2010 в 11:59
поделиться

2 ответа

Это не очень чистый способ сделать это, потому что это не обычное дело. Вам нужно распечатать вывод только в том случае, если вы создаете программу, которую можно использовать для запуска тестов в командной строке, и JUnitCore сам делает это.

Все варианты включают использование классов во внутреннем пакете.

Result r = JUnitCore.runMain(new RealSystem(), TestReader.class.getName())

Если вы хотите распечатать что-то другое, кроме System.out , вы можете создать свой собственный подкласс org.junit.internal.JUnitSystem и использовать его вместо RealSystem

Вы также можете использовать org.junit.internal.TextListener . См. Пример runMain (система JUnitSystem, String ... args) в источнике JUnitCore .

3
ответ дан 4 December 2019 в 09:12
поделиться

Да, вы должны зарегистрировать TextListener следующим образом:

    JUnitCore junit = new JUnitCore();
    junit.addListener(new TextListener(System.out));
    junit.run(TestReader.class);
20
ответ дан 4 December 2019 в 09:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: