【发布时间】:2020-02-18 21:46:25
【问题描述】:
我想编写 Spark 单元测试用例,我正在使用 FunSuite。 但我希望我的 sparkContext 只初始化一次,由所有套件使用,然后在所有套件完成时被杀死。
abstract class baseClass extends FunSuite with BeforeAndAfter{
before {
println("initialize spark context")
}
after {
println("kill spark context")
}
}
@RunWith(classOf[JUnitRunner])
class A extends baseClass{
test("for class A"){
//assert
}
@RunWith(classOf[JUnitRunner])
class B extends baseClass{
test(for class b){
//assert
}
}
但是当我运行 sbt test 我可以看到两个测试都调用了 println 语句 baseClass。显然,当为 A 和 B 类创建对象时,Abstract 基类被调用。 但是我们如何才能实现我的目的,即当所有测试用例都运行时,火花上下文只被初始化一次
【问题讨论】:
标签: scala apache-spark spark-streaming scalatest