特性を考えると(簡略化)
trait A {
val eventStream: EventStream
val credentialsStorage = // something here
val userStorage = // something here
val crypto = // something here
...
lazy val authSvc = new CoreAuthentication(credentialsStorage, new AuthenticationProviderResolver, userStorage, eventStream, crypto)
}
class T extends A with TraitProvidingEventStream with FlatSpec with [lot of another traits here] {
val eventStream = systemFromTraitProvidingEventStream.eventStream
"This" should "work" in {
println(authSvc) // this is "magic"
val user = authSvc.doSomethingWithUser(...);
}
}
//this is "magic" とマークされた行を削除すると、次の行で NullPointerException が発生するため、authSvc は null になります。
何が間違っている可能性がありますか?
そのためのきれいな小さなテストケースを作成できませんでした。通常、これはうまく機能します