maven2 を使用してネストされたテスト クラスを削除する
-
09-09-2019 - |
質問
JUnit テストでプライベート メンバーにアクセスするためにネストされたクラスを使用します。これらには常に「TestProxy」という名前が付けられます。
maven2を使用してビルド時にそれらを削除し、jarファイルに含めないようにしたいと考えています。
- 何か設定オプションはあるのでしょうか?
- プラグインでできるのでしょうか?だったらプロトタイプでもいいですよ!;-)
ありがとう
編集:なぜプライベート メソッドを使用するのでしょうか?サードパーティ システムからデータを注入する必要がありますが、JUnit テストの実行ごとに呼び出すことはできません。そして、私はプライベートデータ用のパブリックセッターを本当に望んでいません。そうしないと、遅かれ早かれ他のプログラマーがそれを悪用する可能性があります。
解決
ここでは、答えは:それはMavenを用いて構成することができます。ただ、ビルド/プラグイン]セクションで、ファイルのpom.xmlに以下のコードを挿入します:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<excludes>
<exclude>**/*$TestProxy*</exclude>
</excludes>
</configuration>
</plugin>
ドキュメント@see:ます。http:// maven.apache.org/plugins/maven-jar-plugin/jar-mojo.html#excludesする
他のヒント
この種のもののためには、Antスクリプトは、コールの最初のポートではなく、専用のカスタムプラグインであることを見つけるかもしれません。 Mavenのビルドの一部として任意のantスクリプトを実行するために取得するのは簡単です。プラグインを作成するよりも簡単。 この質問には、どのように優れた記述がありますMavenのprocess-sources
ビルド実行フェーズでAntスクリプトを実行します。
少し別のノートで、私はあなたが...
ユニットテスト私的アクセスクラスのメンバである理由を尋ねる回答の束を得ることを期待します所属していません StackOverflow