2012-02-28 17 views
2

私はmaven、scala、junitを使って簡単なプロジェクトを書いています。Mavenプロジェクトがjunitを見つけることができません

私が見つけた1つの問題は、私のテストでorg.junit.framework.Testが見つかりませんでした。テストファイル:

import org.junit.framework.Test 

class AppTest { 
    @Test 
    def testOK() = assertTrue(true) 

    @Test 
    def testKO() = assertTrue(false) 
} 

を返すエラー:

[WARNING]..... error: object junit is not a member of package org 
[WARNING] import org.junit.framework.Test 
[WARNING]   ^

私はJUnitのを持っていたが、依存関係として追加し、それは明らかに私のリポジトリ内で座っています。

 <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>4.8.1</version> 
      <scope>test</scope> 
     </dependency> 

誰かがこの原因を教えてもらえますか?

感謝

+1

テストファイルは実際にテストフォルダにありますか?そうでなければ、テストの範囲はすべてを混乱させます。スコープタグを削除して、役立つかどうか確認してください。 POMの残りの部分はここからうまく見えます。次に、あなたのAppTestクラスはどんなパッケージですか? –

+0

ご返信ありがとうございます。はい、テストコードはテストフォルダにあります。このファイルはcom.mycompany.myserviceパッケージに含まれています。 – Kevin

+0

実際に.m2フォルダにjunit .jarsがありますか?私は〜/ .m2 /デフォルトのリポジトリだと思う。 –

答えて

1

JUnitの4.8.1でTestクラスのパッケージがjunit.framework.Testないorg.junit.framework.Testです。

+0

閉じるが、シガーはない。それは実際にorg.junit.Testです。 http://junit.sourceforge.net/javadoc/org/junit/Test.htmlを参照してください。そして、なぜorg.junitが見つからないのか答えません。 –

+0

わかりませんが、あなたが指定したドキュメントはJUnit 3.8であり、4.8ではありません。 JUnit jar(http://search.maven.org/#artifactdetails%7Cjunit%7Cjunit%7C4.8.1%7Cjar)を見ると、インポートがjunit.framework.Testであることがわかります。 –

+0

あなたはリンクについては正しいですが、代わりにhttp://kentbeck.github.com/junit/javadoc/latest/org/junit/Test.htmlを試してみてください。 OPによって使用される注釈@Testは、org.junit.Testです。 –

2

@nico_ekitoによると、インポートが間違っていて、org.junit.Testである必要があります。

しかし、これはあなたの問題を説明していません:

[WARNING]..... error: object junit is not a member of package org 
[WARNING] import org.junit.framework.Test 
[WARNING]   ^

それがorg.junitを見つけることができませんので。これは、テストをコンパイルするときにorg.junitがクラスパスにないことを意味します。だからあなたの依存関係の木が壊れているか、実際の瓶があります。

[INFO] The following files have been resolved: 
[INFO] junit:junit:jar:4.8.1:test 

あなたが解決されて他のJUnitライブラリを得なかったことを確認します。

はこのようなものになるはずである

mvn dependency:list 

を試してみてください。すべてが良ければ、junit jarの内容を確認してください。 org.junit.Testクラスが含まれているはずです。そうでなければ、破損したレポを持っているか、正しい場所を探していません。これを知っている最も簡単な方法は、使用することです:依存関係のコピーとターゲット/依存関係を作成します

mvn dependency:copy-dependencies 

。そこにある瓶を見ることができます。

関連する問題