Есть ли способ выполнить код инициализатора перед каждым тестом в модульном тестировании Visual Studio (MSTest) для всех тестов в проекте? - PullRequest
0 голосов
/ 15 июля 2010

У меня есть проект юнит-теста с 20+ файлами .cs.Я хочу запустить код установки перед каждым отдельным тестом.Вроде как работает атрибут [TestInitialize].Однако мне нужно было бы поместить этот атрибут во все 20+ моих файлов .cs.

Есть ли способ централизовать инициализирующий код в одном месте для каждого теста во всем моем проекте?

Спасибо!

-Майк

Ответы [ 2 ]

0 голосов
/ 15 октября 2010

Я не знаю, это все еще проблема. Но я нашел еще одно решение для достижения этой цели: Открыв файл .testsettings, перейдите на вкладку «Сценарии установки и очистки», вы можете указать сценарии для запуска до и после выполнения тестов.

0 голосов
/ 20 июля 2010

Майк, единственные загрузочные хуки - это [ClassInitialize] и [TestInitialize] и их аналоги разрыва. В подобных случаях я просто выводил общую логику в свой собственный класс, по сути следуя обычным методам DRY и SoC. Обычно у меня есть несколько сервисов и провайдеров, определенных в моих тестовых сборках, а у методов xInitialize просто есть 1 или 2 строки кода для вызова подходящего провайдера. При этом ответ mpistrich также вполне приемлем, я предпочитаю многоуровневую обработку наследования.

...