Scala的延迟初始化?

时间:2019-05-22 15:03:57

标签: scala scalatest lazy-initialization

我有一个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 )生成的,加载Holder是I / O和计算密集型的,因此我不想在测试2。

我正在寻找一种方法,两个测试都可以看到该变量,并且第一个负责初始化该变量,我该怎么做? Scala中有延迟初始化吗?

0 个答案:

没有答案