Ich habe einen Unit Test (nUnit). In vielen Schichten des Aufrufstapels schlägt eine Methode fehl, wenn sie über einen Komponententest ausgeführt wird.
Idealerweise würden Sie so etwas wie Verspotten verwenden, um das Objekt einzurichten, von dem diese Methode abhängt, aber dies ist Code von Drittanbietern, und das kann ich nicht ohne viel Arbeit tun.
Ich möchte keine nUnit-spezifischen Methoden einrichten - hier gibt es zu viele Ebenen und es ist eine schlechte Art, Unit-Tests durchzuführen.
Stattdessen möchte ich so etwas tief im Aufrufstapel hinzufügen
#IF DEBUG // Unit tests only included in debug build
if (IsRunningInUnitTest)
{
// Do some setup to avoid error
}
#endif
Also irgendwelche Ideen, wie man IsRunningInUnitTest schreibt?
PS Ich bin mir völlig bewusst, dass dies kein großartiges Design ist, aber ich denke, es ist besser als die Alternativen.