在我的应用程序中,我有一个CartActor来管理购物车,而OrderManager则负责监督整个购物过程:
第一个
OrderManager从CartActor接收到OrderManager.ConfirmCheckoutStarted(checkoutRef: ActorRef)
。我必须编写单元测试来检查它。我想做的是:
it should "start checkout" in {
val cart = TestActorRef[CartActor]
cart ! AddItem("Item")
cart ! StartCheckout
expectMsg(OrderManager.ConfirmCheckoutStarted)
}
但我得到一个错误:assertion failed: expected ConfirmCheckoutStarted, found ConfirmCheckoutStarted(Actor[akka://CartTest/user/$$d/checkout#-1922766677])
.我看到问题是parantheses里面有一个参数,怎么测试呢?里面的actorRef我不管,我只要ConfirmCheckoutStarted
。
1条答案
按热度按时间ncecgwcz1#
我不知道巡演演员在发回什么消息,所以我创建了这个
CartActor
,发送消息OrderManager.ConfirmCheckoutStarted(self)
。然后我执行这个测试,检查actor引用:
如果你有另一种类型的消息发送回你的
case StartCheckout
,你可以只是相应地改变它。