我正在尝试对 MyActor 进行测试,以便在有条件的情况下向自身发送 MessageB。MyActor 将设置作为构造函数参数。设置没有设置器,因为它在创建后是不可变的。
public class MyActor : ReceiveActor
{
private bool Setting { get; }
public MyActor(bool setting)
{
Setting = setting;
Receive<MessageA>(message => HandleMessageA(message));
}
public void HandleMessageA(MessageA message)
{
if (Setting)
Self.Tell(new MessageB);
}
}
这是测试
[Test]
public void HandleMessageA_SettingIsTrue_MessageBIsSent()
{
bool setting = true;
var testProbe = this.CreateTestProbe();
var myActor = Props.Create<MyActor>(testProbbe);
myActor.Tell(new MessageA);
myActor.ExpectMsg<MessageB>();
}
我的问题是我不知道如何将布尔设置传递给构造函数。好吧,我可以这样写
bool setting = true;
var myActor = Props.Create<MyActor>(setting);
这样 myActor 将设置设置。但是我没有使用 TestProbe,因此将无法收听预期的消息。所以我的问题是如何正确安排测试部分?