2014-08-11 2 views
2

Я унаследовал тестовый проект с тысячами методов/классов тестирования, и мне нужно реализовать новую процедуру очистки, которая должна запускаться после или перед каждым тестом. Я знаю, что это не самое лучшее, но это текущая ситуация, в которой я нахожусь. Через год мы будем надеяться, что все эти тесты будут восстановлены должным образом. Мне нужно как-то запустить метод до или после каждого теста без жесткой кодировки метода в каждом тестовом классе, поскольку у нас просто нет времени на это. Я знаю, что есть атрибуты для очистки сборки и init, но это работает только до и после всей сборки. Мне нужно что-то подобное, но это выполняется после каждого теста без кодирования этой функциональности за тест.Метод авто-выполнения/код до или после запуска метода EVERY

Возможно ли это? Какие существуют варианты?

EDIT Я использую MSTest

+0

Какая структура тестирования вы используете? Кроме того, нет необходимости благодарить вас в вопросе. – xDaevax

+0

Добавлено в описание –

ответ

5

Предполагая, что вы используете MSTest атрибут вам нужно для созданного метода является . Метод, украшенный этим атрибутом, будет выполняться перед каждым тестом.

+2

И используйте [TestCleanup] для части очистки. – ChriPf

+1

Это работает только в том случае, если он находится в КАЖДОМ классе, поэтому для меня это не сработает. Мне нужен единственный метод. –

+2

@ Landin Martens: создайте класс «BaseTest» и наследуйте все ваши тесты от него. Затем вы добавите туда метод инициализации и применитесь ко всем наследованиям. Это лучшее, что вы можете сделать. –

Смежные вопросы