Scala JUnit @BeforeClass 不执行

Scala JUnit @BeforeClass not executing

我正在尝试使用 @BeforeClass 方法 运行 Scala Junit 测试。当我运行这个测试class时,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")
    // ...
  }
}

有趣的是,从 objectclass 中删除 extends TestCase 似乎可以正常工作。希望您乐于使用使用注释而不是 TestCase 继承的 JUnit 4 方法。