Класс-компаньон с использованием переменной из объекта-компаньона, как протестировать метод в классе-компаньоне с помощью scalatest - PullRequest
0 голосов
/ 03 августа 2020

У меня есть реализация, как показано ниже, где у меня есть несколько методов в сопутствующем классе, который я вызываю в сопутствующем объекте. Методы в сопутствующем классе используют некоторые частные переменные из сопутствующих объектов.

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, но я не уверен, как это сделать с переменной даты, определенной в сопутствующий объект. Я предполагаю, что мне, возможно, придется использовать какое-то имитационное тестирование, но я никогда раньше не проводил имитационное тестирование, и онлайн-ресурсы очень запутаны для понимания. Как я могу написать тестовый пример для этого метода? Пожалуйста помоги! Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...