0

プロジェクトもMavenでビルドできるように、既存のAntビルドを補完しようとしています。私はこれのほとんどを機能させていますが、いくつかのテストケースで立ち往生しています。

問題は、いくつかのテストが多くの構成を持つオブジェクトとして生成されていることです。実際には、使用可能なすべての値に対してパラメータースイープを実行しています。したがって、TestCaseを拡張するクラスには、4引数のコンストラクターがあります。antビルドは、このテストの複数のインスタンスを作成し、それらをTestSuiteに追加します。

ただし、Mavenビルドは失敗します。問題は、テストクラスを直接実行しようとしていることです。単一のargコンストラクターがないため、構築することさえできません。

テストクラスを書き直すことはオプションではありません。メインライブラリはサードパーティによって開発されているので、フォークしたくありません。追加するだけで、既存の設定を使用しようとしています。

ですから、私の質問ですが、Mavenには、リフレクションによってMavenを使用するのではなく、1つ以上のTestCaseオブジェクトをメインのTestSuiteに明示的に追加する方法があります(Mavenに1つあると仮定します)。

4

1 に答える 1

0

さて、私はなんとかこれを解決することができました。JUnit 4には、パラメーター化されたテスト用の専用ランナーがあります。そこで、MavenビルドをJUnit 4に移動しました(antビルドはまだJUnit 3を使用しています)。次に、antビルドコードが生成していたオブジェクトではなく、コンストラクターパラメーターのリストを生成するためのカスタムコードを作成する必要がありました。最後に、テストに注釈を追加しました。

残念ながら、これはantテストコードを変更する必要があったことを意味しますが、少なくともこれは追加に限定されていました。理想的ではありませんが、実行可能です。

于 2012-12-05T10:13:59.880 に答える