Scala中的JUnit测试类别?

时间:2012-10-31 22:33:04

标签: unit-testing scala junit

我搞定了!我逐字地将Java翻译成Scala:

https://github.com/junit-team/junit/blob/master/doc/ReleaseNotes4.8.md

大多数情况下,它意味着执行Array(classOf [ClassName]),删除“public”关键字等。我的IntelliJ IDE为建议提供了很多帮助。


我希望能够运行各种类型的测试,因此我可能将一类测试标记为“Version2dot3”和“SlowTest”,然后只能运行“慢速测试”,或运行“慢速测试和2.3测试” ”

我一直在努力使这篇文章适应我的Scala测试:

http://weblogs.java.net/blog/johnsmart/archive/2010/04/25/grouping-tests-using-junit-categories-0

我有一个基本的shell设置几乎可以正常工作,但是当我尝试运行testSuite时出现java.lang.Exception: No runnable methods错误。

想法?我已经成功地只使用SuiteClasses运行某些​​测试类,但是无法运行测试类别(@Category注释)。

import org.junit.experimental.categories.{Categories, Category}
import org.junit.runners.Suite.SuiteClasses
import org.scalatest.FunSuite
import org.junit.runner.RunWith
import org.scalatest.junit.JUnitRunner

@RunWith(classOf[JUnitRunner])
@Category(Array(classOf[SlowTests]))
class FunSuiteTest extends FunSuite with DemoHelpers {
  test("demoTest1") {
    println("\n\nrunning DemoTest1...\n\n")
  }
}

@RunWith(classOf[JUnitRunner])
@Category(Array(classOf[SlowTests]))
class FunSuiteTest2 extends FunSuite with DemoHelpers {
  test("demoTest2") {
    println("\n\nrunning DemoTest2...\n\n")
  }
}

@RunWith(classOf[Categories])
@SuiteClasses(Array(classOf[SlowTests]))
class testSuite {

}

1 个答案:

答案 0 :(得分:2)

将Java在此处逐行转换为Scala:

https://github.com/junit-team/junit/blob/master/doc/ReleaseNotes4.8.md

通常它意味着做数组(classOf [ClassName]),删除" public"关键词等。

带有Scala插件的IntelliJ IDE可以提供很多建议。