я побежал через некоторый код в одном из наших услуг, который выглядит следующим образом:NServiceBus: Тестирование этого события публикуется и исключение в то же время
try
{
// Step 1: collect underpants.
}
catch (Exception ex)
{
// If this is the last retry we'll raise an event.
if (Bus.IsLastRetry())
{
PublishFailedEvent(ex);
}
// But we'll also send the error to the error queue no matter what.
throw;
}
И тест, который выглядит следующим образом:
Test.Handler(bus => new Processor() { Bus = bus })
.ExpectPublish<IFailedEvent>()
.OnMessage<ISomeHappenedEvent>();
Потому что мы бросаем сразу после публикации теста. Есть ли способ проверить, что публикация FailedEvent опубликована, и генерируется исключение?
использование Thread.Sleep в течение некоторого времени –
@viveknuna, что не является полезным предложением в любом случае. –