2011-09-04 17 views
12

私はEclipseの長いユーザーですが、JUnitに関しては初心者です。私は多くのJavaプロジェクトを持っており、それらのプロジェクトのメソッドについてテストケースを作成したいと考えています。私はこの目的のためにEclipse環境を設定する最善の方法を考えています。指定されたパッケージに典型的なsrcディレクトリを持つ典型的なプロジェクトがあると仮定しましょう。テストケースをそのプロジェクトにどのように結び付けますか。いくつかの懸案事項: 1.テストケースをプロジェクトで作成したビルドの一部にすることは望ましくありません。 2.私は、テストスイートのクラスを参照したいと思います。JUnitとEclipseの使い方

テストしたいパッケージの下に別のテストディレクトリをセットアップしますか?別のテストパッケージがありますか?これを行う最善の方法は何ですか?

答えて

8

それはかなり死んで簡単です:

  • ドラッグするか、そうでなければ、あなたのlibフォルダにJUnitのjarファイルを配置し、 プロジェクトがそれを含めるようにビルド設定を変更します。
  • プロジェクトの下に 'test'という別のソースフォルダを作成します。
  • 'test'ソースフォルダの下にテストパッケージを作成します。最高の の習慣は、アプリケーションのパッケージ名を模倣することです。
  • テストパッケージ内にテストクラスを作成します。ベストプラクティス は、テストが必要なアプリケーションクラスを模倣するが、末尾に テストを追加することです。だからあなたのメインアプリケーション で、たとえば、あなたはmyapp.service.PrintServiceを持っている可能性があり、対応する テストとして、あなたはmyapp.service.PrintServiceTest
  • は、あなたのテストを実行しますjunit.framework.TestCase
  • から
  • を各テストクラスを拡張する必要がありますTestRunnerを使用してクラス。

アプリケーションのデプロイメントバンドルをビルドするときは、 'test'ソースフォルダを除外します。さて、あなたがを実際にに落として簡単にテスト統合したいなら、Mavenを使ってプロジェクトをセットアップしてください。バットからすぐあなたのためのベストプラクティスをすべて沸かします。

+3

JUnitにはEclipseが付属しているので、JARファイルは必要ありません。プロジェクト設定でライブラリとして追加することはできますが、Antからテストを実行する場合はJARが必要です。 JUnit 4が2006年にリリースされて以来、TestCaseを拡張する必要はありませんでした。実際には、いくつかのことを単純化するので、使用方法を学ぶ時間が必要です。 –

+0

JUnitアノテーションの使い方を詳しく解説した別の回答を投稿したい場合は、自由に行ってください。私があなたと違うテストを実装することを選択したからといって、私のツールの知識は疑問に思ってはいけません。 – Perception

+4

JUnit 3が「十分に」十分であるため、JUnit 4に関心がないこと以外に、TestCaseを今日拡張する理由を正直に知りたいと思います。 –

0

簡単な解決策は、テスト関連のクラス用に別のソースディレクトリを作成することです。たとえば、メインクラスが$PROJECT_ROOT/srcにある場合は、テスト関連のクラスを$PROJECT_ROOT/src-testに配置できます。私は、Eclipseが手元にないが、私はあなたがこの新しいディレクトリを含めるように$PROJECT_ROOT/.classpathファイル(それのXML)を変更することができます知っている:

<classpath> 
    <classpathentry kind="src" path="src"/> 
    <classpathentry kind="src" path="src-test"/> <!-- ADD THIS ONE --> 
    ... 
</classpath> 

今、すべてのテストクラスが主なクラスが表示されますが、彼らは勝ちましたあなたのビルドには含まれません。私は通常、テストクラスがテストするクラスと同じパッケージに存在することを確認します。こうすることで、任意のprotectedメンバにテストコードからアクセスできます。

3

テストコードを整理するための最良の(または少なくとも最も一般的な)方法は、テストコード用の別個のソースフォルダを用意して、それをきれいに分けておくことです。 eclipseでは、プロジェクトのプロパティの[Build Path]にソースフォルダを追加できます。

しかし、テストクラスをテストするクラスと同じパッケージに保つ(つまり、テストソースフォルダ内に同じパッケージ階層を持つ)こともお勧めします。これにより、テストコードでパッケージのプライベートメソッドと保護されたメソッドを呼び出すことができるため、パブリックAPIで公開すべきでない内部動作をより簡単にテストできます。

関連する問題