branchUserActor.Tell(UserBeingOnline.Create(userId, branchId)); var expectedChildActor = Sys.ActorSelection($"{actorPath}/user_{userId.AkkaPrepare()}") .ResolveOne(TimeSpan.FromSeconds(1)).Result;
Проблема заключается в том, что когда вы говорите
UserBeingOnline
, вы запускаете асинхронное действие - сообщение отправлено наbranchUserActor
, но оно, возможно, не было обработано сразу. Тем временем вы вызываете решение one, которое сообщает системе actor, чтобы найти дочерний элементbranchUserActor
- дочерний элемент, которого еще нет, поскольку родитель еще не обрабатывал сообщение.Вы можете использовать метод AwaitAssert (() => Assert.IsNotNull (ResolveChild ())) для работы с этим.