3

maven-gunit-pluginを介してgunit (ANTLR 文法ユニット テスト ツール)を実行するように Maven を構成しました。ただし、gunit には 2 つの異なるモードがあります。最初のモードでは、gunit がインタープリターとして機能し、*.gunit (または *.testsuite) ファイルを読み取って解釈し、結果を表示します。次のように構成できます。

  <plugin>
    <groupId>org.antlr</groupId>
    <artifactId>maven-gunit-plugin</artifactId>
    <version>3.1.3</version>
    <executions>
        <execution>
            <id>maven-gunit-plugin</id>
            <phase>test</phase>
            <goals>
                <goal>gunit</goal>
            </goals>
        </execution>
    </executions>
  </plugin>

2 番目のモードでは、JUnit で実行できるソース コードが gunit によって生成されます。インタープリターとして機能する代わりに、maven-gunit-plugin に JUnit ソースを生成するように指示するにはどうすればよいですか?

いくつかのメモ:

  • テスト フェーズを「generate-test-sources」に変更して、maven プラグインを正しい時間に実行することができます。
  • maven-gunit-plugin に関する有用なドキュメントが見つかりませんでした
  • exec-maven-pluginを使用して、特定のコマンド ライン オプションで gunit を実行する人を見てきましたが、私はそれを行うつもりはありません。

編集/解決:

さまざまな回答を読んだ後、maven-gunit-plugin を含む ANTLR ソース コードをダウンロードしました。プラグインは、 junit 生成をサポートしていません。現在、gunit-maven-plugin の codehaus スナップショットと exec プラグインが唯一のオプションであることが判明しました。

4

2 に答える 2

3

サンプルで示されているMNG-4039を介したディスカッションを見つけました。記事全体を読ませますが、著者によると、次のような結果になるはずです。maven-gunit-plugin gunit-maven-plugin

<dependencies>
  <dependency>
    <groupId>org.antlr</groupId>
    <artifactId>antlr-runtime</artifactId>
    <version>3.1.1</version>
  </dependency>
  <!-- Here is the 'extra' dep -->
  <dependency>
    <groupId>org.antlr</groupId>
    <artifactId>antlr</artifactId>
    <version>3.1.1</version>
    <!-- we try to use scope to hide it from transitivity -->
    <scope>test</scope> <!-- or perhaps 'provided' (see later discussion) or 'import' (maven >= 2.0.9) -->
  </dependency>
</dependencies>
<build>
  <plugins>
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>gunit-maven-plugin</artifactId>
      <version>1.0.0-SNAPSHOT</version>
      <executions>
        <execution>
          <goals>
            <goal>generate</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

私はこの構成を自分でテストしなかったため、すべてが箱から出して機能していることを確認できません。プラグインがSNAPSHOT以外のバージョンでリリースされているかどうかさえわかりません。私が確認できる唯一のことは、についての「実際の」ドキュメントを見つけるのは確かに非常に難しいように思われるということですmaven-gunit-plugin

于 2009-09-28T22:56:53.583 に答える
1

ここで悲しいお知らせがあります

これまでのところ、Maven 用の GUnit 機能 (JUnit テスト生成または GUnit の直接呼び出し) がないことがわかりました。私はすでに antlr3-maven-plugin の GUnit の状態について Jim Idle にメールを送り
、古いバージョンの maven-plugin へのパッチがキューで待機していることを知りました。

この 回避策が唯一のオプションだと思います。

于 2009-09-29T01:48:12.913 に答える