我正在尝试使用一种@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)
有趣的是,它看起来像是extends TestCase从两者中删除object并class使其工作。希望您乐于使用 JUnit 4 使用注解而不是TestCase继承的方法。