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