我有以下要模拟的特征:
trait TraitA extends TraitB {
private lazy val internalObject = new ServiceA()
internalObject.setSomeVal("someVal")
internalObject.setSomeOtherval("someOtherVal")
private lazy val anotherObject = new ServiceB()
def functionA(paramA: typeB): typeC = {
// some code using internalObject & anotherObject
}
}
使用 ScalaMock 时,我尝试做
val mockTraitA = mock[TraitA]
java.lang.NullPointerException
由于存在私有惰性 val,它可能无法正确初始化此特征的模拟版本而失败?
初始化这种特征的正确方法是什么?