У меня есть набор тестов в NUnit, которые создают данные мусора по файловой системе (плохо, я знаю, но я имею мало контроля над этим). В настоящее время у нас есть инструмент очистки, который удаляет эти временные файлы и такой, но я хотел бы смочь выполнить тот инструмент очистки автоматически. Я должен был бы смочь выполнить его после того, как все тесты закончили работать. У меня есть подобная проверка, что я хотел бы сделать вначале, гарантировать, что нет ни одного из этих временных файлов, оставленных от предыдущих выполнений, которые могли бы изменить результат тестов.
Такая вещь проста, или я оказываюсь перед необходимостью реализовывать совершенно новый исполнитель тестов для такой вещи?
Да,
Используйте атрибут [SetUpFixture]
для класса и атрибуты [SetUp]
и [TearDown]
для методов этого класса.
Метод SetUp в фикстуре SetUpFixture выполняется один раз перед любым из фикстур, содержащихся в его пространстве имен. Метод TearDown выполняется один раз после завершения выполнения всех приспособлений. В приведенных ниже примерах метод RunBeforeAnyTests() вызывается перед любыми тестами или методами настройки в пространстве имен NUnit.Tests. Метод RunAfterAnyTests() вызывается после того, как все тесты в пространстве имен, а также их отдельные или фикстуры завершили выполнение.
Источник (на странице написано 2.4, но он доступен в 2.5)
Посмотрите на TestFixtureSetUp и TestFixtureTearDown.
Да, используйте атрибут SetupFixture в классе и используйте [SetUp] для инициализации перед запуском тестов и [TearDown] для последующей очистки.