在我的测试中,我有一个测试特征来提供spark上下文:
trait SparkTestTrait {
lazy val spark: SparkSession = SparkSession.builder().getOrCreate()
}
问题是我需要在每个测试函数中添加一个导入:
test("test1) {
import spark.implicits._
}
object testImplicits extends SQLImplicits {
protected override def _sqlContext: SQLContext = spark.sqlContext
}
然后在实现文件的构造函数中:
import testImplicits._
但是,我更希望将这些隐式导入到实现SparkTestTrait的所有类中(我不能让SparkTestTrait扩展SQLImplicits,因为实现类已经扩展了一个抽象类)。
有办法做到这一点吗?