Maven 2 如何轻松地连接到maven错误报告基础架构

Maven 2 如何轻松地连接到maven错误报告基础架构,maven-2,maven,vbscript,jenkins,maven-failsafe-plugin,Maven 2,Maven,Vbscript,Jenkins,Maven Failsafe Plugin,我有一个maven2项目,在集成测试阶段,我使用exec插件调用vbscript手动执行一些测试(这是特定于Windows的测试)。这是由詹金斯自动完成的。我想将这些测试的结果连接到错误报告基础设施(surefire/failsafe)中,甚至可能在集成后测试阶段(最好是通过标准的故障保护机制)的构建失败之前提供一些关于测试失败的详细信息。我可以创建自己的测试结果文件吗?格式上有什么细节吗?有更好的办法吗 澄清一下,我想做以下事情: 能够将测试添加到基础架构中,以便Jenkins可以看到手动运行

我有一个maven2项目,在集成测试阶段,我使用exec插件调用vbscript手动执行一些测试(这是特定于Windows的测试)。这是由詹金斯自动完成的。我想将这些测试的结果连接到错误报告基础设施(surefire/failsafe)中,甚至可能在集成后测试阶段(最好是通过标准的故障保护机制)的构建失败之前提供一些关于测试失败的详细信息。我可以创建自己的测试结果文件吗?格式上有什么细节吗?有更好的办法吗

澄清一下,我想做以下事情:

  • 能够将测试添加到基础架构中,以便Jenkins可以看到手动运行的测试数量
  • 能够将特定测试标记为通过或失败,并在jenkins下适当地将构建标记为“不稳定”
  • 我不希望在测试失败时构建立即失败(这会让应用程序运行)。我想在“验证”阶段将其标记为“不稳定”或“失败”

  • 最好的方法是将您的测试封装在一个定制的mojo中,它可以利用内置的日志机制。然后,您可以使用javasruntimeexec来执行vb,收集结果,并将它们打印到日志中。也许是这样的:

    /**
     * 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>
    ...
    
    。。。
    mygroup
    我的工件插件
    0.0.1-快照
    测试vb
    测试
    vbtest
    ${project.basedir}/vbtests/vbtest.vb
    ...
    

    这显然不是完整的解决方案,但可能会为您提供一个良好的起点。

    我不想只记录结果。我已经可以做到了。我想知道如何使构建标记为不稳定(我想我可以通过从vbscript返回错误来使构建失败)。@Jared,如果您希望构建由于测试失败而失败,那么就错过了这一部分:org.apache.maven.plugin.MojoFailureException如果出现预期的问题(例如编译失败)。引发此异常会导致显示“生成失败”消息。