Могу ли я использовать код, который выполняется до и после того, как тесты выполняются NUnit?

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

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

Ответы

Ответ 1

Да,

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

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

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

Ответ 3

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