Я, наконец, начинаю использовать превосходные компоненты Automatonymous в MassTransit, и я хотел бы использовать TDD для своих новых конечных автоматов.
После прочтения документации по МТ здесь (http://masstransit-project.com/MassTransit/advanced/sagas/automatonymous.html) и, потратив некоторое время на гугление, я нашел модульные тесты прямо в репозитории MT/Automatonymous Git, которые выглядели так:
В частности, метод _machine.RaiseEvent(....)
оказался именно тем, что мне было нужно, чтобы иметь возможность управлять конечным автоматом с помощью тестовых стимулов.
Затем я отправился на поиски этой перегрузки... Оказывается, это метод расширения, который, кажется, живет здесь:
Вот где я застрял. Я не уверен, как правильно использовать эти методы расширения для тестирования? *.tt - это формат шаблона генерации текста... Они установлены как часть пакета nuget? Как получить доступ к расширениям? и/или в более широком смысле, как рекомендуется писать модульные тесты для конечных автоматов, наследуемых от MassTransitStateMachine<T>
?
Дополнительный вопрос здесь: Как успешно управлять MassTransitStateMachine через InMemoryTestHarness?