未找到Scala特征中的@Test方法

时间:2011-08-06 13:11:09

标签: scala junit4 scalatest traits scala-ide

有人知道为什么来自Scala特征的 @Test 带注释方法 继承 未找到 JUnit 4测试跑者?它给了我“没有找到JUnit测试”。

class FooTests extends BarTesting

但以下修改有效吗?

import junit.framework.TestCase

class FooTests extends TestCase with BarTesting

在Scala特征BarTesting中,我使用以下签名定义了方法。

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

1 个答案:

答案 0 :(得分:1)

这确实是Eclipse中的一个错误。如果你愿意,你可以这样提高。 http://www.assembla.com/spaces/scala-ide/tickets

当你扩展TestCase时,测试正在运行,因为它以test开始,而不是因为注释。识别注释存在问题,这就是junit的工作原理,我还没有看到它是否已经修复,以使junit工作正常。

你最好的选择是:

  1. 针对scala-ide
  2. 提出错误
  3. 将@RunWith [classOf [JUnit])添加到您的班级
  4. 以下作品:

    trait BarTesting {
      @Test final def testBar() {
        println("Hello world")
      }
    }
    
    @RunWith(classOf[JUnit4])
    class FooTesting extends BarTesting {
    }
    

    我会尝试修复错误。

    编辑:在scala-ide的最新版本(截至2011年11月9日),现在可以使用。