1

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

澄清一下,我追求以下几点:

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

1 回答 1

0

最好的方法是将您的测试封装在可以利用内置日志记录机制的自定义 mojo 中。然后你可以使用 javas runtime exec 来执行你的 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>
...

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

于 2011-11-08T16:22:00.900 回答