Я создаю интеграционный тест, в котором я использую InMemNetwork для запуска теста.Rebus - Запустите модульные тесты и дождитесь, пока Rebus завершит все потоки
Существует вызов Thread.Sleep непосредственно перед утверждением, но это извращенный способ тестирования, и это замедляет наши тесты.
Я также выполняю некоторые интеграционные тесты, используя SagaFixtures и простую реализацию IBus, которая работает синхронно, но все это немного утомительно с регистрацией обработчиков, запуском обработчиков и отсрочкой сообщений.
Есть ли способ подождать на всех потоках, используемых Ребусом, до тех пор, пока они не закончатся, не увеличивая производственный код, используя такие вещи, как ManualResetEvent (используется в собственных тестах Rebus)?
Создание метода расширения для этого было бы идеальным решением. Большое спасибо! –