Как я могу легко подключиться к инфраструктуре сообщений об ошибках maven
У меня есть проект maven2, где я вручную выполняю тестирование на этапе тестирования интеграции, используя плагин exec для вызова vbscript (это специфичное для Windows тестирование). Это автоматизировано Дженкинсом. Я хотел бы подключить результаты этих тестов к инфраструктуре отчетов об ошибках (верный / отказоустойчивый) и, возможно, даже предоставить некоторые подробности о сбоях тестов, прежде чем завершить сборку на этапе тестирования после интеграции (предпочтительно через стандартный отказоустойчивый тест). механизм). Могу ли я как-нибудь создать свой собственный файл результатов теста? Есть ли какие-либо подробности о формате? Есть ли способ лучше?
Пояснения, я после следующих вещей:
- Возможность добавлять тесты в инфраструктуру, чтобы Jenkins видел количество тестов, запущенных вручную.
- Возможность помечать определенные тесты как успешные или неудачные и помечать сборку как нестабильную под jenkins.
- Я не хочу немедленного сбоя сборки при сбое теста (это оставляет приложение работающим). Я хочу пометить его только как "нестабильный" или пометить как сбойный на этапе "проверки".
1 ответ
Лучшим способом было бы заключить ваш тест в пользовательский режим, который мог бы использовать встроенный механизм ведения журнала. Тогда вы можете просто использовать исполняемый файл javas 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>
...
Это явно не полное решение, но может дать вам хорошую отправную точку.