我有以下特點阿卡 - 測試,從測試功能執行
trait MyTrait{
def printHelloWorld(){
println("hello world")
}
}
case object SayHello
class MyActor extends Actor with MyTrait{
def recieve = {
case SayHello => printHelloWorld
}
}
現在,我想創建單元測試,其測試,然後打個招呼對象調用打印hello消息
"My Actor" should{
"println hello msg if SayHello sent" in{
val myTraitMock = mock[MyTrait]
val myActor = system.actorOf(Props(new MyActor))
myActor ! SayHello
Thread.sleep(500)
there was atLeastOne(myTraitMock).printHelloMessage
}
}
然而這個單元測試總是綠色的。即使我用簡單的println方法替換這個方法。
有沒有其他的方法來測試這種情況?
你需要'libraryDependencies + =「 org.scalatest「%%」scalatest「%」1.9.1「%」test「'和'libraryDependencies + =」com.typesafe.akka「%%」akka-testkit「%」2.2.3「'作爲依賴項 – Jatin 2014-11-23 17:15:41
這就是不錯,我非常喜歡Akka-test,但MyActor不應該向發件人返回任何消息。它只是「火和遺忘」,我可以在測試過程中用其他特性擴展它,以便將消息返回給發件人。這是我看到的唯一選項。 – 2014-11-23 17:19:11