0
我想爲我的演員編寫一些測試用例,問題是某些測試失敗,我無法弄清楚爲什麼他們失敗。使用akka測試工具記錄收到的郵件
在正常情況下,我的代碼工作正常(沒有任何測試),但對於我的測試,我嘲笑twitter4j庫的一些部分,這使得它們變得複雜。
測試失敗,沒有更多關於它的有用信息。
有沒有辦法用akka testkit和scalatest記錄收到的消息?
我想爲我的演員編寫一些測試用例,問題是某些測試失敗,我無法弄清楚爲什麼他們失敗。使用akka測試工具記錄收到的郵件
在正常情況下,我的代碼工作正常(沒有任何測試),但對於我的測試,我嘲笑twitter4j庫的一些部分,這使得它們變得複雜。
測試失敗,沒有更多關於它的有用信息。
有沒有辦法用akka testkit和scalatest記錄收到的消息?
如果您希望能夠記錄所有接收到的消息,有三件事情你必須做:
1)裹在演員的receive
功能要啓用從akka.event
用LoggingReceive
(日誌記錄包)。
2)設置從配置的akka.actor.debug.receive
設置true
3)確保你的日誌記錄配置將在DEBUG
級別顯示消息
所以你的演員可能是這個樣子:
import akka.actor._
import akka.event.LoggingReceive
class MyActor extends Actor{
def receive = LoggingReceive{
case msg => ...
}
}
如果你這樣設置,你應該開始看到爲被測試的演員記錄所有記錄到DEBUG
級別的消息。您可以在Akka Docs的Testing Actor Systems部分閱讀更多內容,特別是跟蹤演員調用小節。