Создание html верного теста html-вывода во время фазы тестирования - PullRequest
13 голосов
/ 29 октября 2010

Я не уверен, является ли это простым вопросом или нет, но я бы хотел, чтобы наверняка генерировались выходные файлы в формате html (в дополнение к выходным файлам в формате xml и txt) на этапе тестирования.

Я пытался сделать это, добавив запись «Выполнения» для build> surefire.Это правильное место для этого?Если так, я делаю это неправильно?

<build>
  ..
  <plugins>
    ..
    <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-report-plugin</artifactId>
                <version>2.6</version>
                <configuration>
                    <outputDirectory>site</outputDirectory>

                </configuration>
                <executions>
                    <execution>
                        <id>during-tests</id>
                        <phase>test</phase>
                        <goals>
                            <goal>report</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin> 

1 Ответ

18 голосов
/ 30 октября 2010

Хотелось бы, чтобы наверняка генерировались выходные файлы в формате html (в дополнение к выходным файлам в формате xml и txt) во время фазы тестирования.

Самый простой способ (без запуска site), вероятно, будет просто вызывать:

mvn surefire-report:report

Это запустит тесты до генерации отчета (но результат не такой приятный, потому что CSS не будет сгенерирован, у вас будетзапустить site для этого).

Я попытался сделать это, добавив запись «Выполнения» для build> surefire.Это правильное место для этого?Если так, я делаю это неправильно?

Если вы действительно хотите связать плагин surefire-report с фазой test, я бы предложил использовать цель report-only (потому что этоне будет перезапускать тесты, см. SUREFIRE-257 ), например:

<plugins>
  <plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-report-plugin</artifactId>
  <version>2.6</version>
  <executions>
    <execution>
      <phase>test</phase>
      <goals>
        <goal>report-only</goal>
      </goals>
    </execution>
  </executions>
</plugin>

В качестве примечания, генерирующего отчет как часть сайта:

  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-report-plugin</artifactId>
        <version>2.6</version>
        <reportSets>
          <reportSet>
            <reports>
              <report>report-only</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
    </plugins>
  </reporting>

И запуск

mvn test site

, кажется, не намного медленнее (я использовал Maven 3, только с этим отчетом) и дает гораздо более приятный результат.Это может не подойти, если у вас сложная настройка сайта (хотя бы без усложнения за счет введения профилей).

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

...