私は Akka.NET の初心者です。現時点では、アクターが自分自身にメッセージを送信したかどうかをテストするのが困難です。
これは私のアクターコードです:
public class MySuperActor : ReceiveActor
{
private readonly IActorRef _anotherActor;
public RoteadorDeContratosSuspensoActor(IActorRef anotherActor)
{
_anotherActor = anotherActor;
Receive<MySuperActorMessage>(m => HandleMessage(m));
Receive<MySuperActorSuperMessage>(m => HandleSuperMessage(m));
}
private void HandleMessage(MySuperActorMessage message)
{
Self.Tell(new MySuperActorSuperMessage(message));
}
private void HandleSuperMessage(MySuperActorSuperMessage message)
{
_anotherActor.Tell(new AnotherActorMessage(message));
}
}
そして、それは私のテストコードです
[TestFixture]
public class MySuperActorTest : TestKit
{
private IActorRef _sut;
private IActorFactory _actorFactory;
private List<Contrato> _contratos;
private Props _props;
[Test]
public void WhenReceiveASimpleMessageActorShouldSendSuperMessageToHimself()
{
var testProbe = CreateTestProbe();
Props props = Props.Create<MySuperActor>(testProbe);
var sut = ActorOf(_props);
sut.Tell(new MySuperActorMessage());
ExpectMsg<MySuperActorSuperMessage>();
}
}
私のテストは常に次のメッセージで中断します。
失敗: タイプ AkkaNetTestPlaygroung.MySuperActorSuperMessage のメッセージの待機中にタイムアウト 00:00:03
アクターが自分自身に別のメッセージを送信しているかどうかを確認するにはどうすればよいですか?