import akka.actor.ActorRef;
import akka.actor.Props;
import akka.actor.UntypedAbstractActor;
import akka.testkit.TestKit;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class IntegrationTest extends TestKit {
@Before
public void setup() {
initSystem();
}
@After
public void teardown() {
shutdownSystem();
}
@Test
public void testActorInteraction() {
ActorRef testActor = system().actorOf(Props.create(TestActor.class));
testActor.tell("Hello", getRef());
expectMsg("Hello, received!");
}
public static class TestActor extends UntypedAbstractActor {
@Override
public void onReceive(Object message) {
if (message instanceof String) {
String msg = (String) message;
sender().tell(msg + ", received!", self());
} else {
unhandled(message);
}
}
}
}