2013-03-04 4 views
8

Моя компания недавно переключилась на maven, и переход был очень плавным, но есть одно, что меня раздражает. Итак, раньше, в пред-мэбэновую эру, вы могли видеть, какой тест выполняется в текущем классе (например, если у вас было 40 модульных тестов в классе, а 2-й тест не удался, вы бы его увидели). Теперь он выглядит так: он отображает имя тестируемого класса и это он. Вам нужно подождать, пока все тесты не пройдут в классе, чтобы увидеть результаты (вы можете остановить тест, и он покажет ход до остановленной вами точки, но вы ничего не увидите, прежде чем фактически остановить их). Это действительно раздражает и занимает много времени в некоторых интеграционных тестах.Maven, показывая модульные испытания в настоящее время

Если кто-нибудь знает решение для этого, я был бы благодарен. Заранее спасибо.

ответ

5

Вы можете настроить прослушиватель, который будет печатать текущее тестирование на консоли. Смотрите разделы Using custom listeners and reporters в junit maven-surefire-plugin documentation или testng maven-surefire-plugin documentation

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.19.1</version> 
    <configuration> 
     <properties> 
     <property> 
      <name>listener</name> 
      <value>com.mycompany.MyResultListener,com.mycompany.MyResultListener2</value> 
     </property> 
     </properties> 
    </configuration> 
    </plugin> 
+1

@simleo. Я хотел бы, чтобы ссылка изменилась, чтобы отразить, что она указывает конкретно на страницу JUnit. Существует еще одна страница с той же информацией, что и добавление слушателя к [Maven Surefire TestNG setup] (http://maven.apache.org/surefire/maven-surefire-plugin/examples/testng.html) –

+0

@JohnChesshir Я добавил связь. – SpaceTrucker

1

Если вы используете JUnit, вы could use a @Rule for this.

Если вы хотите, чтобы это было применимо, когда Maven запускает тесты, используйте свойство System для включения/выключения вывода.

+0

Вот пример использования Junit @ Rule's, чтобы распечатать текущее тестовое имя: http://stackoverflow.com/q/473401/32453, хотя вам нужно будет добавить его в какой-либо тестовый общий базовый класс, если вы хотите больше, чем один модуль для вывода его [?] – rogerdpack

Смежные вопросы