Eu tenho um teste de unidade (nUnit). Muitas camadas abaixo da pilha de chamadas, um método falhará se estiver sendo executado por meio de um teste de unidade.
Idealmente, você usaria algo como simulação para configurar o objeto do qual esse método depende, mas este é um código de terceiros e não posso fazer isso sem muito trabalho.
Não quero configurar métodos específicos do nUnit - há muitos níveis aqui e é uma maneira ruim de fazer o teste de unidade.
Em vez disso, o que eu gostaria de fazer é adicionar algo assim no fundo da pilha de chamadas
#IF DEBUG // Unit tests only included in debug build
if (IsRunningInUnitTest)
{
// Do some setup to avoid error
}
#endif
Então, alguma ideia sobre como escrever IsRunningInUnitTest?
PS: Estou totalmente ciente de que este não é um ótimo design, mas acho que é melhor do que as alternativas.