2011-08-06 11 views
3

を見つけていないは、Scalaのトレイトからを継承している@Test注釈付き方法はJUnitのテストランナー4によってを発見していないされている理由を誰かが知っているのですか?それは私に "No JUnitテストが見つかりました"というものです。@Testメソッド

class FooTests extends BarTesting 

ただし、次の修正が有効ですか?

import junit.framework.TestCase 

class FooTests extends TestCase with BarTesting 

Scalaの特性BarTestingでは、以下のシグネチャでメソッドを定義しました。

@Test 
final def testBar() { 
// ... 
} 
+0

どのようにテストを実行していますか?これは、テストランナーではなくIDEで問題になる可能性があります。http://www.manning-sandbox.com/thread.jspa?messageID=62087&tstart=0。 –

+0

こんにちはAaron、私はScala IDE 2.0.0.beta9と共にEclipse JEE Indigo Releaseで実行しようとしています。 –

答えて

1

これは実際にEclipseのバグです。もしあなたが好きなら、それを上げることができます。 http://www.assembla.com/spaces/scala-ide/tickets

TestCaseを拡張すると、注釈のためではなく、テストで始まるのでテストが実行されています。 junitの仕組みがどのように機能するのかというアノテーションの認識に問題がありました.Junitの仕組みがまだ修正されていないかどうかを確認することはありませんでした。

  1. はScalaの-IDEに対してバグを上げ
  2. 追加@RunWith [classOf [JUnitの])あなたのクラスへ

次作品:

あなたの最善の策はであり

trait BarTesting { 
    @Test final def testBar() { 
    println("Hello world") 
    } 
} 

@RunWith(classOf[JUnit4]) 
class FooTesting extends BarTesting { 
} 

私はこのバグを解決します。

編集:scala-ideの最新バージョン(2011年11月9日現在)では、これが動作するようになりました。

関連する問題