Scala JUnit @BeforeClass没有执行

时间:2015-07-09 18:20:57

标签: scala junit

我正在尝试使用@BeforeClass方法运行Scala Junit测试。当我运行此测试类时,永远不会执行setup()方法。我在这做错了什么?我使用的是JUnit 4.12和Scala 2.10.5。测试的其余部分按预期执行。

import org.apache.spark.SparkContext
import org.apache.spark.rdd.RDD
import org.junit.BeforeClass
import org.junit.Test
import junit.framework.TestCase

object PerformanceTest extends TestCase {

  var sc: SparkContext = _;

  @BeforeClass
  def setup(): Unit = {
    if (sc == null) {
        sc = new SparkContext("local", "ANTLR Expression Test")
    }
  }
}

class PerformanceTest extends TestCase {

  @Test
  def testWeightedAverage(): Unit = {
    val csvRDD = PerformanceTest.sc.textFile("src/main/resources/MOCK_DATA.csv")
    // ...
  }
}

1 个答案:

答案 0 :(得分:4)

有趣的是,从extends TestCaseobject移除class似乎可以使其发挥作用。希望您很高兴使用JUnit 4方法来使用注释而不是TestCase继承。