我有一個這樣的代碼:怎樣的方法添加到模擬斯卡拉上
class Object3 (
param1: String
param2: String
)
class Object1 (
param1: String
param2: Object2
) extends Message
class SampleClassSpec extends WordSpec with MockitoSugar {
"A sender" should {
"send a message" in {
val client = mock[Client]
var message = mock[Object1]
var detail = mock[Object2]
when(message.param2).thenReturn(detail)
when(message.param2.toJson).thenReturn(detail.toJson) // give me NPE
val sender = new Sender(client)
sender.prepareandsend(message) // second NPE
verify(client).send(message.param2.toJson.prettyPrint)
}
}
}
的問題是,我得到了NPE時,我想補充的方法來獲取格式化JSON,我不想發送整個Object1,只是Object3;我正在使用spray.json._。 如果我刪除給我NPE的線,那麼我得到了第二個NPE上的「準備和發送」
我的問題是我怎麼可以將這個方法添加到json.prettyPrint模擬? 或者也許有另一種方式來做到這一點。我是一個真正的初學者。
我試了一下它不會返回任何東西,相同的NPE。現在快速解決方案是用假數據創建Object1並將其添加到prepareandsend() – armandfp