Page History
...
각종 리모트,클러스터환경에서의 메시지 검증을 위해서 AKKA TestTookit을 제공합니다.
-실제 메시지 처리에 대한 유효검사가 가능합니다용이해집니다. -여러가지 가상의 환경을 셋팅하여 AKKA의 기능에관련된 메시징 기능 체크가 가능합니다. -이것이 가능한 이유는 기본 유닛테스트 클래스가 액터기반으로 작동이 되기때문입니다. |
|---|
설치(기존 유닛 테스트에 추가 설치)
사용예
| Code Block | ||||||
|---|---|---|---|---|---|---|
| ||||||
using ServiceA.STUDY;
using Akka.TestKit.VsTest;
namespace AkkaTest
{
[TestClass]
public class UnitTest1 : TestKit //TestKit을 상속받습니다.
{
[TestMethod]
public void TestMethod1() //기본 유닛 테스트기
{
using (ActorSystem actorSystem = ActorSystem.Create("ServiceA"))
{
IActorRef myActor = actorSystem.ActorOf<BasicActor>("myactor");
Props watchProps = WatchActor.Props(myActor);
IActorRef watcher = actorSystem.ActorOf(watchProps, "watcher");
var result = myActor.Ask("나는 살아있다.").Result;
actorSystem.Stop(myActor); //myActor를 임의로 Stop하여, watcher가 종료를감시한는지 체크
myActor.GracefulStop(TimeSpan.FromSeconds(10)).Wait(); //생성한 Actor를 안전하게 종료시킨다.
}
}
[TestMethod]
public void TestMethod2() //Akka Tookit을 이용한 유닛테스트, 테스트기에 테스트를 할수 있는 액터가 추가됨
{
var myActor = this.Sys.ActorOf<MyActor>("myActor");
var probe = this.CreateTestProbe();
myActor.Tell("Hello", this.TestActor);
ExpectMsg("Re:Hello", TimeSpan.FromSeconds(1));
}
}
} |
...

