0

私はすべてのjunitテストをEclipseで実行しています。それらの一部には、アプリケーションのプロパティ ファイルなどへの相対パスがハードコーディングされています。現在、ant ビルド プロセスの一部として実行するようにセットアップしています。
残念ながら、ant ビルドの基本パスは異なります。これにより、ハード コーディングされたパスを使用したテストが失敗します。

両方の環境でテストを実行するには、どのようなオプションが必要ですか?

Eclipse はルートをパスのベースとして使用します。Ant は root/src/test をベースとして使用します。ハードコーディングされたパスを更新し、テストを実行して、これを確認しました。

階層のレイアウト

/root/
+ config/
  + app.properties
    + src/
+ java/
  +production code/
+ test/
  + build.xml
  + junit tests/
4

2 に答える 2

0

フルパスをハードコーディングしないでください。代わりに、パスを個別に構成するか、いくつかのルート パス (私の好み) に対して相対的に構成します。依存性注入を使用して、使用するパスを使用して単体テスト済みコードを構成することを検討してください。単体テストで偽のパスmainを使用したり、デプロイされたコードで実際のパスを使用するようにメソッドを構成したりできます。

于 2013-10-22T19:46:31.083 に答える
0

うーん...build.xmlルートに移動して、そのパスを変更します。ant ビルドと eclipse で異なるルートを使用する理由がわかりません。

于 2013-10-22T17:22:46.073 に答える