1

私はmaven2プロジェクトを持っており、統合テスト段階でexecプラグインを使用してvbscriptを呼び出すいくつかのテストを手動で実行しています(これはWindows固有のテストです)。これは Jenkins によって自動化されています。これらのテストの結果をエラー報告インフラストラクチャ (surefire/failsafe) にフックし、統合テスト後のフェーズでビルドが失敗する前に、テストの失敗に関する詳細を提供したいと考えています (できれば標準のフェイルセーフを使用)機構)。どうにかして独自のテスト結果ファイルを作成できますか? フォーマットの詳細はありますか?より良い方法はありますか?

明確化、私は次のことを求めています:

  1. Jenkins が手動で実行されたテストの数を確認できるように、インフラストラクチャにテストを追加する機能。
  2. 特定のテストを成功または失敗としてマークし、ビルドをジェンキンの下で適切に「不安定」としてマークする機能。
  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 に答える