我有以下特点阿卡 - 测试,从测试功能执行
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