Реал-тайм репортинг прохождения тестов Thucydides в Teamcity

Привет, коллеги!

Если вы используете Thucydides в связке с TeamCity, надеюсь, это пост будем вам полезен.

Когда мы стали использовать Thucydides, мы столкнулись с проблемой репортинга прохождения тестов в реальном времени в TeamCity. Решением этой проблемы стала интеграция имплементации Thucydides StepListener интерфейса с сервисными сообщениями TeamCity.

Мы хотим поделиться с комьюнити имплементацией этого полезного листенера.
Для установки необходимо добавить dependency в pom файл вашего проекта:

<dependency>
    <groupId>com.github.crystalservice</groupId>
    <artifactId>thucydides-teamcity-steplistener</artifactId>
    <version>0.3</version>
    <exclusions>
        <exclusion>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
        </exclusion>
    </exclusions>
</dependency>

Если вы используете JBehave:

В maven-failsafe-plugin в конфигурацию необходимо добавить параметр:

<disableXmlReport>true</disableXmlReport>

Пример:

 <plugin>
            <artifactId>maven-failsafe-plugin</artifactId>
            <version>2.11</version>
            <configuration>
                <disableXmlReport>true</disableXmlReport>
            </configuration>
</plugin>

Если вы используете JUnit:

В maven-surefire-plugin в конфигурацию необходимо добавить параметры:

<disableXmlReport>true</disableXmlReport>
<skip>false</skip>

Пример:

<plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.12</version>
        <configuration>
            <disableXmlReport>true</disableXmlReport>
            <skip>false</skip>
        </configuration>
</plugin>

Запуск Thucydides:

JBehave:

mvn integration-test

JUnit:

mvn test

Проект выложен на гитхаб GitHub - vase4kin/thucydides-teamcity-steplistener: Thucydides teamcity steplistener.
Мы используем связку Thucydides и Jbehave, но в связке с Junit листенер тоже должен работать.

Коллеги, спасибо за внимание, ждем от вас обратной связи и прибудет с вами сила.

5 лайков

@vase4kin спасибо за ваш труд. Вот бы еще видео бы (скринкаст) для наглядности как это работает

1 лайк

Или хотя бы какие-то скриншоты

Коллеги,

Обновил инструкцию в первом посте. Пришлось оперативно выпустить новый релиз.

По поводу репортинга в реальном времени, надеюсь, это понятно. Когда тест будет пройден, в TeamCity мгновенно отобразится информация о результате прохождения(passed, failed, ignored). До этого результаты о прохождении тестов показывались только по завершению билда.

Для примеров результатов тестов с листенером были использованы архетипы Thucydides:

Как выглядит c Jbehave:

  • Вкладка Overview
  • Вкладка Tests
  • Упавший тест с ошибкой

Как выглядит c Junit:

  • Вкладка Overview
  • Вкладка Tests
  • Упавший тест с ошибкой

Кто использует Jbehave и мету, есть один момент, который стоит упомянуть, сейчас в Thucydides последней версии существует баг, в котором заскипанные и заигноренные сценарии отмечаются как passed.

Появились вопросы? Смело задавайте.

есть вопрос:)

можно ли выложить скрины диаграмм, результатов Thucydides ?

Вы имеете в виду отчеты, сгенерированные Thucydides? Можете объяснить зачем они вам?

да, просто интересно как оно реализованы в тимсити
я просто использую связку Jenkins+Thucydides+JUnit , хотелось бы увидеть аналог ))

Этот вопрос немного не относится к теме.
Если в двух словах, то в TeamCity к билду, после его завершения, добавляется вкладка, в которой содержится iframe с страницей отчетов Thucydides.