MSTEST в c # с использованием Simple Injector DI для класса с использованием Орлеана - PullRequest
0 голосов
/ 25 сентября 2018

Буду признателен за вашу помощь в следующем вопросе.Я извиняюсь за длину, но это беспокоит меня в течение некоторого времени, и я хочу объяснить себя, как могу.

Мне нужно проверить класс.Класс имеет некоторую бизнес-логику и использует Орлеан.У меня есть несколько тестовых сценариев, которые я хочу реализовать сам, и некоторые из них будут реализованы другими в будущем, когда класс будет расширен.Я тестирую класс с помощью тестового кластера Орлеана на локальной машине, и я использую несколько макетов.Тесты выполняются MStest 2.

Если я правильно понимаю, запрещать регистрировать ложные сообщения, разрешать их, а затем отменять их регистрацию и регистрировать новое поведение.Это также отключается Simple Injector и другими контейнерами DI, блокируя контейнер.

ОК, поэтому я должен зарегистрировать все действия макета сразу, прежде чем развернуть тестовый кластер.Так что теперь мой макет возвращает разные результаты, основанные на некотором произвольном идентификаторе теста, который я передаю в качестве аргумента.Тиа не подлежит обслуживанию, и если кто-то хочет добавить новый тест, он должен понять какую-то произвольную систему, которую я использую для идентификации сценария теста в макете.

Кроме того, теперь у меня есть метод тестирования, который зависит от метода установки, который я запускал в ClassInitialize.Поэтому, если кто-то хочет добавить новый тест, он должен добавить в код 2 новых метода: один для настройки и один для реального тестирования.Это также создает дублирование имен, так как метод тестирования и метод настройки имеют схожие имена.Это делает код еще сложнее поддерживать.

Кроме того, поскольку требуется некоторый обмен данными между методом настройки тестового сценария и его методом тестирования, мне нужно использовать несколько статических переменных.

Интуитивно понятно, что у меня есть wrondНаправление на это, и это есть другой путь.

Не могли бы вы посоветовать, как сделать обслуживаемым, расширяемым, обучающим при использовании di, mocks (moq) и Orleans?

Спасибо

...