C# - Verificar se código é corrido por Testes Unitários
Por vezes pode ser-nos útil saber-mos se determinado código está a ser corrido por testes unitários (no caso de sessões ou dependências externas por exemplo).
Fica aqui um método muito útil para nunit (para as restantes frameworks de unit testing basta alterarem o nome da assembly).
Classe:
public static class UnitTestValidator
{
private static bool _runningFromNUnit = false;
static UnitTestDetector()
{
foreach (Assembly assem in AppDomain.CurrentDomain.GetAssemblies())
{
if (assem.FullName.ToLowerInvariant().StartsWith("nunit.framework"))
{
_runningFromNUnit = true;
break;
}
}
}
public static bool IsRunningFromNunit
{
get { return _runningFromNUnit; }
}
}