私は、ScalaQueryを使用してデータベースを照会するシンプルなActorを持っています.ScalaQueryを使用するクライアントのテストのために嘲笑しました。アクターから呼び出し元に返すなし
私が欲しいのは、(模擬)俳優がIDが一致する場合はSome(MyObject)
と返信し、それ以外の場合はNone
と返信します。しかし、私はどのようにこの作品を作るかを理解することはできません。 - もちろん、私のクライアントを混乱させる、
def receive = {
case FetchSomething(someId) => {
if (someId == 1234) self.channel ! someObject
else self.channel ! None
}
}
しかし、代わりにクライアントコードでNone
を返すので、それはSome(None)
返します。ここで私はこれまで持っているコードです。このようなものはどのように仕事にクライアントをしたいです:
val object = persister !! FetchSomething(1337) match {
case myObject: Some[MyObject] => myObject
case _ => None
}
(もちろん、上記は単に間違っている可能性があります - 代わりにSome
の、それはOption
ことができる)
どのように私はこれを達成することができますか?おそらくもっと具体的には、None
をself.channelに送り返すにはどうすればいいですか?一致させるときはNone
で、Some(None)
ではないのですか?