KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I've tried to make an Spock test for a class, where i need to check that it sends a message to actor (say statActor ). I know that Akka have special library for integration test, but seems that it's too much for very simple test. So, i've tried: setup: def myActor = Mock(ActorRef) myService.statActor = myActor when: myService.startStats() then: 1 * myActor.tell(_) Target method looks like: void startStats() { Date x = null // prepare some data, fill x with required value this.statActor.tell(x) } I thought that Spock will create mock with a method tell . But after running this test i'm getting: java.lang.ClassCastException: akka.actor.ActorRef$$EnhancerByCGLIB$$80b97938 cannot be cast to akka.actor.ScalaActorRef at akka.actor.ActorRef.tell(ActorRef.scala:95) at com.example.MyService.startStats(MyService.groovy:32) Why it's calling real ActorRef implementation? Some kind of incompatibility with Scala? Is there any way to make mock for such class?
Tags (comma-separated)
Save Edits
Cancel