NUnit - limpeza após falha de teste
Nós temos alguns testes NUnit que acessam o banco de dados. Quando um deles falha, ele pode deixar o banco de dados em estado inconsistente - o que não é um problema, já que reconstruímos o banco de dados para cada execução de teste -, mas pode fazer com que outros testes falhem na mesma execução.
É possível detectar que um dos testes falhou e executar algum tipo de limpeza?
Não queremos escrever código de limpeza em todos os testes, já fazemos isso agora. Eu gostaria de realizar a limpeza no Teardown, mas apenas se o teste falhar, pois a limpeza pode ser cara.
Atualizar: Para esclarecer - gostaria que os testes fossem simples e NÃO incluíssem qualquer lógica de limpeza ou tratamento de erros. Eu também não quero executar a redefinição do banco de dados em cada teste - somente se o teste falhar. E este código provavelmente deve ser executado no método Teardown, mas eu não estou ciente de nenhuma maneira de obter informações se o teste que estamos atualmente derrubando falhou ou foi bem-sucedido.
Update2:
[Test]
public void MyFailTest()
{
throw new InvalidOperationException();
}
[Test]
public void MySuccessTest()
{
Assert.That(true, Is.True);
}
[TearDown]
public void CleanUpOnError()
{
if (HasLastTestFailed()) CleanUpDatabase();
}
Estou à procura de implementação de HasLastTestFailed ()