[TestMethod]
[TestCategory("Integration")]
public async Task Should_fetch_fund_shareclass_and_details_from_test_service()
{
var testIsins = new HashSet<string> {"isin1", "isin2", "isin3"};
var props = Props.Create(() => new DataFetchSupervisor());
var actor = Sys.ActorOf(props, "fetchSupervisor");
Within(TimeSpan.FromSeconds(30), () =>
{
actor.Tell(new StartDataFetch(testIsins));
//ignore unexpected messages here
var fetchComplteMsg = ExpectMsg<DataFetchComplete>();
});
}
现在,这将失败,因为我在DataFetchComplete消息之前收到了其他一些消息。总是,请事先感谢您的任何帮助。
akka.testkit
ExcpectMsg
或等效的检查器。您正在寻找的那个可能是鱼形式。它需要一个谓词,只要无法通过谓词的状况,就会忽略所有传入的消息。一旦找到传递消息,此支票将完成,您的代码可能会继续。
您还可以使用Testkit.ignoremessages方法,该方法将接受一个委托函数,以指定您在等待目标消息时要忽略哪些类型的消息。