Как я могу легко подключиться к инфраструктуре сообщений об ошибках maven - PullRequest
1 голос
/ 08 ноября 2011

У меня есть проект maven2, в котором я вручную выполняю тестирование на этапе тестирования интеграции, используя плагин exec для вызова vbscript (это специфичное для Windows тестирование). Это автоматизировано Дженкинсом. Я хотел бы подключить результаты этих тестов к инфраструктуре отчетов об ошибках (верный / отказоустойчивый) и, возможно, даже предоставить некоторые подробности о сбоях тестов, прежде чем завершить сборку на этапе тестирования после интеграции (предпочтительно через стандартный отказоустойчивый тест). механизм). Могу ли я как-нибудь создать свой собственный файл результатов теста? Есть ли какие-либо подробности о формате? Есть ли лучший способ?

Уточнение, я после следующих вещей:

  1. Возможность добавлять тесты в инфраструктуру, чтобы Дженкинс видел количество тестов, запущенных вручную.
  2. Возможность пометить определенные тесты как успешные или неудачные и пометить сборку как нестабильную под jenkins.
  3. Я не хочу немедленного сбоя сборки при сбое теста (это оставляет приложение работающим). Я хочу пометить его только как «нестабильный» или пометить как сбойный на этапе «проверки».

1 Ответ

0 голосов
/ 08 ноября 2011

Лучшим способом было бы заключить ваш тест в пользовательский режим, который мог бы использовать встроенный механизм ведения журнала. Тогда вы можете просто использовать javas runtime exec для запуска вашей виртуальной машины, сбора результатов и распечатывания их в журнал. Возможно, что-то вроде этого:

/**
 * Goal which generates.
 * 
 * @goal vbtest
 * 
 * @phase test
 */
public class VbTestMojo extends AbstractMojo {
    /**
     * @parameter expression="${project}"
     */
    private MavenProject project;

    /**
     * The directory for exploded something or other.
     * 
     * @parameter default-value="${vbtest.scriptFile}"
     * @required
     * @readonly
     */
    private String vbScriptFile;


    public void execute() throws MojoExecutionException {
        getLog().info( "Running VB Test " + vbScriptFile.getName() );

        // execute your vb script here and log whatever...
    }
}

Поместите это в свой собственный проект, а затем включите в свой pom таким образом:

...
  <plugin>
    <groupId>mygroup</groupId>
    <artifactId>myartifact-plugin</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <executions>
      <execution>
        <id>test-vb</id>
        <phase>test</phase>
        <goals>
          <goal>vbtest</goal>
        </goals>
        <configuration>
          <scriptFile>${project.basedir}/vbtests/vbtest.vb</scriptFile>
        </configuration>
      </execution>
...

Это явно не полное решение, но может дать вам хорошую отправную точку.

...