У меня есть реализация, как показано ниже, где у меня есть несколько методов в сопутствующем классе, который я вызываю в сопутствующем объекте. Методы в сопутствующем классе используют некоторые частные переменные из сопутствующих объектов.
class Foo{
def loadFinalDF(df:DataFrame): DataFrame ={
val finaldf: DataFrame = df
.withColumn("Date", lit(date)).distinct()
finaldf
}
}
object Foo {
import org.apache.spark.sql.SparkSession
val spark = SparkSession.builder().getOrCreate()
import spark.implicits._
val someDF = Seq(
(8, "bat"),
(64, "mouse"),
(-27, "horse")
).toDF("number", "word")
val obj = new Foo
private val date = "2019-03-01"
val finalDF = obj.loadFinalDF(someDF)
}
Я хочу написать тестовые примеры для метода loadFinalDF, но я не уверен, как это сделать с переменной даты, определенной в сопутствующий объект. Я предполагаю, что мне, возможно, придется использовать какое-то имитационное тестирование, но я никогда раньше не проводил имитационное тестирование, и онлайн-ресурсы очень запутаны для понимания. Как я могу написать тестовый пример для этого метода? Пожалуйста помоги! Спасибо!