NUnit - очистка после сбоя теста

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

Можно ли обнаружить, что один из тестов не прошел и выполнить какую-то очистку?

Мы не хотим писать код очистки в каждом тесте, мы уже делаем это сейчас. Я хотел бы выполнить очистку в Teardown, но только если проверка не удалась, так как очистка может быть дорогой.

Update: Чтобы уточнить - я хотел бы, чтобы тесты были простыми и НЕ включали какую-либо логику очистки или обработки ошибок. Я также не хочу выполнять сброс базы данных при каждом запуске теста - только если тест не пройден. И этот код, вероятно, должен быть выполнен в методе Teardown, но я не знаю ни одного способа получить информацию, если тест, который мы в настоящее время разрушаем, не удался или был успешным.

Update2:

        [Test]
        public void MyFailTest()
        {
            throw new InvalidOperationException();
        }

        [Test]
        public void MySuccessTest()
        {
            Assert.That(true, Is.True);
        }

        [TearDown]
        public void CleanUpOnError()
        {
            if (HasLastTestFailed()) CleanUpDatabase();
        }

Я ищу реализацию HasLastTestFailed ()

Ответы на вопрос(11)

Ваш ответ на вопрос