विशेषता (सरलीकृत)स्कैला :: आलसी मूल्य मुद्रित होने तक शून्य है?
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(...);
}
}
अगर मैं हटाने लाइन के रूप में चिह्नित देखते हुए // इस "जादू", तो मैं, अगली पंक्ति पर NullPointerException मिल जाएगा तो authSvc अशक्त है।
क्या गलत हो सकता है?
मैं नहीं है कि के लिए स्वच्छ छोटे से परीक्षण मामले बनाने में सक्षम हो, आम तौर पर यह अच्छी तरह से काम करता है किया गया था
क्या आप सुनिश्चित हैं कि 'authSvc' तक पहुंच एनपीई फेंकता है और विधि 'doSomethingWithUser' या इसके पैरामीटर नहीं है? – sschaef
बिल्कुल, भले ही यह एनपीई को कहीं अंदर डालेगा कुछ ऐसा विथ यूज़र - तब प्रिंटल के पास इसके बारे में कुछ भी नहीं है। – jdevelop
मैं इसे डीबग करना चाहता हूं, लेकिन यह सुनिश्चित नहीं करता कि कैसे। किसी भी तरह की सहायता को आभार समझेंगे। – jdevelop