У меня может быть код, который выполняется, прежде и после того, как тесты запущены NUnit?

У меня есть набор тестов в NUnit, которые создают данные мусора по файловой системе (плохо, я знаю, но я имею мало контроля над этим). В настоящее время у нас есть инструмент очистки, который удаляет эти временные файлы и такой, но я хотел бы смочь выполнить тот инструмент очистки автоматически. Я должен был бы смочь выполнить его после того, как все тесты закончили работать. У меня есть подобная проверка, что я хотел бы сделать вначале, гарантировать, что нет ни одного из этих временных файлов, оставленных от предыдущих выполнений, которые могли бы изменить результат тестов.

Такая вещь проста, или я оказываюсь перед необходимостью реализовывать совершенно новый исполнитель тестов для такой вещи?

14
задан Billy ONeal 7 June 2010 в 20:50
поделиться

3 ответа

Да,

Используйте атрибут [SetUpFixture] для класса и атрибуты [SetUp] и [TearDown] для методов этого класса.

Метод SetUp в фикстуре SetUpFixture выполняется один раз перед любым из фикстур, содержащихся в его пространстве имен. Метод TearDown выполняется один раз после завершения выполнения всех приспособлений. В приведенных ниже примерах метод RunBeforeAnyTests() вызывается перед любыми тестами или методами настройки в пространстве имен NUnit.Tests. Метод RunAfterAnyTests() вызывается после того, как все тесты в пространстве имен, а также их отдельные или фикстуры завершили выполнение.

Источник (на странице написано 2.4, но он доступен в 2.5)

22
ответ дан 1 December 2019 в 09:59
поделиться

Посмотрите на TestFixtureSetUp и TestFixtureTearDown.

4
ответ дан 1 December 2019 в 09:59
поделиться

Да, используйте атрибут SetupFixture в классе и используйте [SetUp] для инициализации перед запуском тестов и [TearDown] для последующей очистки.

1
ответ дан 1 December 2019 в 09:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: