Попытка следовать примеру тестирования Saga, использующего DI (https://masstransit-project.com/usage/testing.html#testing-using-dependency-injection)
var provider = new ServiceCollection()
.AddMassTransitInMemoryTestHarness(cfg =>
{
cfg.AddSagaStateMachine<TStateMachine, TInstance>()
.InMemoryRepository();
cfg.AddSagaStateMachineTestHarness<TStateMachine, TInstance>();
})
.BuildServiceProvider(true);
...
Однако я не могу получить тесты, работающие с запланированными событиями в Saga. Я следую примеру на https://masstransit-project.com/usage/sagas/automatonymous.html#schedule
У меня получилось работать с RabbitMQ, добавив AddRabbitMqMessageScheduler
и UseDelayedExchangeMessageScheduler
в мою конфигурацию шины сообщений.
В тестах я получаю следующее исключение:
The payload was not found: MassTransit.MessageSchedulerContext
Я думаю, это потому, что я не настроил провайдера правильно. Я пытаюсь найти правильные методы расширения, но я думаю, что это может не поддерживаться в сочетании с AddMassTransitInMemoryTestHarness
?