У меня есть Scalatest со следующей структурой, которая выхолащивается внутри класса
var dataHolder: Holder // some lazy initialization here?
def runTest(filePath: String): Unit = {
//Test 1
it should "load the data holder" in {
loadHolder(filePath)
}
//Test 2
it should "varify the holder is correct" in {
checkHolder(dataHolder)
}
}
Для обоих тестов 1 и 2 требуется переменная dataHolder
, которая генерируется функцией loadHolder( String )
, в качестве держателя загрузки используется ввод-вывод и интенсивность вычислений, поэтому я не хочу делать это снова в тесте 2.
Я ищу способ, чтобы оба теста могли видеть переменную, а первый отвечает за ее инициализацию, как я могу это сделать? Есть ли ленивая инициализация в Scala?