2

JUnit テストでプライベート メンバーにアクセスするために、ネストされたクラスを使用します。それらは常に「TestProxy」という名前です。

ビルド時にmaven2を使用してそれらを削除し、jarファイルに含めないようにしたいと思います。

  • 設定オプションはありますか?
  • プラグインでできる?もしそうなら、プロトタイプはいいですね!;-)

ありがとう

編集: なぜプライベート メソッドを使用するのですか? サードパーティのシステムからデータを注入する必要がありますが、JUnit テストの実行ごとに呼び出すことはできません。そして、プライベート データのパブリック セッターは本当に必要ありません。そうしないと、遅かれ早かれ別のプログラマーがそれを悪用する可能性があります。

4

2 に答える 2

2

答えは次のとおりです。mavenで構成できます。build/plugins セクションの pom.xml ファイルに次のコードを挿入するだけです。

<plugin>
 <groupId>org.apache.maven.plugins</groupId>
 <artifactId>maven-jar-plugin</artifactId>
 <configuration>
   <excludes>
     <exclude>**/*$TestProxy*</exclude>
   </excludes>
 </configuration>
</plugin>

@ドキュメントを参照してください: http://maven.apache.org/plugins/maven-jar-plugin/jar-mojo.html#excludes

于 2009-04-15T12:16:52.860 に答える
0

この種のことについては、antスクリプトが専用のカスタムプラグインではなく、最初の呼び出しポートであることに気付くかもしれません。ビルドの一部としてMavenに任意のAntスクリプトを実行させるのは簡単です。プラグインを作成するよりも簡単です。 この質問process-sourcesには、Mavenのビルド実行フェーズでantスクリプトを実行する方法についての優れた説明があります。

少し違うことに、私的にアクセス可能なクラスメンバーをユニットテストしている理由を尋ねるたくさんの回答が得られると思います...

于 2009-04-14T13:46:11.250 に答える