2010-11-29 14 views
5

別のMavenプロジェクトからクラスをテストしますA クラスAテスト。 ProjSourceでmvn:installを呼び出すと、テストクラスを実行したい。呼び出しは、私は2つのMavenプロジェクトで、ソースのための1つを持っている

このようなことを実行する最も簡単な方法は何ですか?単体テストでの私の経験は非常に基本的であることに注意してください。クラスAテストはクラスAをテストするように設計されていることをMavenに伝える方法はわかりません。

私はmaven-jar

<type>test-jar</type> 
<scope>test</scope> 

のが、ときに私は:結果* ** * ** *との依存ProjSourceとして-tests.jarテストジャーゴールhereで-pluginと定義mvn:installを実行すると、出力"実行するテストはありません"です。私は何かを逃したか?

どのようなヘルプは非常に感謝し、多くのおかげで、事前に感謝!

よろしく、

答えて

3
  1. はそれをそのようにはしません。それを行う方法は、標準ソースをsrc/main/javaに、テストソースをsrc/test/javaにすることです。デフォルトでは、標準ソースが結果のJARに追加され、テストソースディレクトリ内のテストは自動的に実行されます。これは十分にテストされた動作です、なぜそれを変更しますか? テスト用のjarが必要な場合は、このプロジェクトのpom.xmlでjar:test-jarを呼び出し、buildhelperプラグインを使用してattach the resulting artifactをデプロイします。そうすれば、標準的なプロジェクトのレイアウトを維持したまま、テストジャーナルを作成することができます。

  2. あなたがそれを主張する場合、あなたはそれを逆にしなければならないでしょう。テストプロジェクトは、メインプロジェクトに依存する必要があります(あなたが知らないものをテストすることはできません)。私は、テストプロジェクトのsrc/test/javaにテストコードを入れることをお勧めします。そして、mavenの魔法はデフォルトの方法で動作します。 また、上の太字も挿入してください。

しかし、それがあったようにMavenのライフサイクルが定義された理由は、失敗したテストは、ビルドに失敗することになっているということです。ライブラリの構築には、それがするべきことをしない点はありません。

+0

ありがとうフロイド、私はあなたの提案を試みたが、残念ながらそれは動作しませんでした..今、私のテストクラスがJARファイルにパッケージ化されていることをMavenに伝える方法を見つけようとしています。 「テスト段階」を実行する。 は私が探しているものに近いですが、このタグはJARではなくソースとしてフォルダを受け付けます..これらは私の会社の要件であり、すべてのテストは1つのJarにパッケージされています。 ...) –

+0

テストジャー?それが問題ならば、私の更新された答えを見てください。 –

関連する問題