Scala JUnit @BeforeClass 不执行

Cor*_* Wu 3 junit scala

我正在尝试使用一种@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")
    // ...
  }
}
Run Code Online (Sandbox Code Playgroud)

bjf*_*her 5

有趣的是,它看起来像是extends TestCase从两者中删除objectclass使其工作。希望您乐于使用 JUnit 4 使用注解而不是TestCase继承的方法。

  • 由于 `extends TestCase`,JUnit 取消了 JUnit3 运行程序,并且此运行程序不支持注释。它运行测试用例`testWeightedAverage` 不是因为`@Test` 注释,而是因为它的名字以test 开头。 (3认同)