我正在尝试使用@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")
// ...
}
}
答案 0 :(得分:4)
有趣的是,从extends TestCase
和object
移除class
似乎可以使其发挥作用。希望您很高兴使用JUnit 4方法来使用注释而不是TestCase
继承。