• 1000 было бы. В нынешнем виде мне пришлось подключить отладчик и посмотреть, куда он бросил.
Я подумал, что, возможно, смогу создать другого актера, который ведет журнал и, в случае ошибки, отправляет ему сообщение. Однако точки останова, которые я установил в ErrorActor, никогда не срабатывали. Кажется, что RootActor вышел из строя и истекло время ожидания до того, как сообщение было отправлено / получено. Каков рекомендуемый способ обнаружения ошибок в модульных тестах?
Большое спасибо
[Fact]
public void CreateRootActor()
{
// Arrange
var props = Props.Create(() => new RootActor());
Sys.ActorOf(Props.Create( () =>new TestErrorActor(TestLogger)), ActorPaths.ErrorActor.Name); // register my test actor
// Act
var actor = new TestActorRef<RootActor>(this.Sys, props);
// Assert
Assert.IsType<RootActor>(actor.UnderlyingActor);
}
public class RootActor : ReceiveActor
{
private ITenantRepository tenantRepository;
public RootActor(ILifetimeScope lifetimeScope)
{
try
{
this.tenantRepository = lifetimeScope.Resolve<ITenantRepository>(); // this throws
}
catch (Exception e)
{
Context.ActorSelection(ErrorActor.Name).Tell(new TestErrorActor.RaiseError(e));
throw;
}
....