3

私は職場ですべての Web プロジェクトを RAD/Eclipse を使用して構築していますが、通常、テストの *.class ファイルをどこに保存しているのか知りたいです。

私のすべての Web プロジェクトには、ソース用の "src" とテストケース用の "test" という 2 つのソース フォルダーがあります。両方のソース フォルダー用に生成された *.class ファイルは、現在、WebContent/WEB-INF/classes フォルダーの下に配置されています。

テスト *.class ファイルを src *.class ファイルから分離したい理由は 2 つあります。

  • それらを WebContent/WEB-INF/classes に保存して本番環境にデプロイする意味はありません。
  • Sonar やその他の静的コード分析ツールは、私のくだらないが正しいテストケース コードを考慮に入れるため、正確な静的コード分析を生成しません。

したがって、現在、次の出力フォルダーがあります。

  • 「src」ソース フォルダーは WebContent/WEB-INF/classes フォルダーにコンパイルされます。
  • 「test」ソース フォルダーは、target/test-classes フォルダーにコンパイルされます。

今、私はRADからこの警告を受けています:-

Broken single-root rule: A project may not contain more than one output folder.

したがって、Eclipse ベースの IDE は 1 つのプロジェクト = 1 つの出力フォルダーを好むようですが、「ビルド パス」ダイアログから追加のソース フォルダー用のカスタム出力フォルダーを設定するオプションが提供され、それが私に吠えます。 .

この警告を自分で無効にできることはわかっていますが、これをどのように処理するか知りたいです。

アップデート

プロジェクトのビルド パス ダイアログの 1 つのスクリーンショットを添付しました。RAD v7.5.5 を使用しています。あなたのほとんどは Maven でプロジェクトを構築しているようです。私は Maven を使用するのが大好きです。Maven は他の場所でも使用していますが、Websphere との相性が悪いため機能しています。Maven 化されたプロジェクトを Webphere で動作させる方法を知っている場合は、私にも知らせてください。

代替テキスト http://www.imagebanana.com/img/89q9o46t/s1.jpg

4

3 に答える 3

3

SOURCEプロジェクトと共存する別のTESTプロジェクトを選択しました。

このようにして、テスト プロジェクトに追加の依存関係を追加できます。たとえば、テストのみに必要なサード パーティのライブラリなどです。この依存関係を通常のプロジェクトに追加する必要はありません。

于 2010-05-25T15:38:58.863 に答える
2

テストされているクラスはcom.example.MyClass. テストMyClassTestを同じパッケージcom.exampleに入れますが、別のフォルダーに入れますtest

        module
        /     \
      src   -> target <-
      /  \
   main   test
     |      |
    java   java
     |       |
     com    com
     |        |
    example  example
     |        | 
MyClass.java MyClassTest.java

これはMaven の標準ディレクトリ レイアウトです。

ただし、テスト用のクラス ファイルとメイン クラスを同じ出力フォルダーにコンパイルできますtarget

于 2010-05-25T16:24:27.503 に答える
0

RAD についてはわかりませんが、私のプロジェクトはすべて、Eclipse では問題なくテストとテスト リソース用に個別の出力フォルダーを使用していると言えます。

代替テキスト http://www.imagebanana.com/img/9c8m79s/screenshot_008.png

于 2010-05-25T15:29:52.120 に答える