5 Stimmen

Gibt es eine gute Möglichkeit, verschiedene Kontext zwischen Unit Test und Release zu wechseln. in C#

Ich habe einen gewissen Kontext im Code, der je nachdem, ob er unter Test oder Freigabe läuft, umgeschaltet wird. Sagen wir in meiner Produktcodierung:

PublishRequest(); // the real one
//PublishRequestPsudo(); // the one want to be run during unit test

Der Weg, den ich denke über ist eine TestFlag-Klasse zu machen:

if (!TestFlag.PublishFlag)
{
    PublishRequest();
}
else
{
    PublishRequestPsudo();
}

Das erscheint mir sehr umständlich, wenn ich viele Stellen habe, an denen ich das tun kann. Gibt es ein gutes Muster, um es zu tun?

7voto

Furqan Hameedi Punkte 4322

Eine ziemlich gute Möglichkeit, dasselbe zu erreichen, ist Injektion von Abhängigkeiten/Inversion der Kontrolle

Eine weitere gute Quelle zu diesem Thema ist Caching-ArchitekturTestbarkeit, Dependency Injection und mehrere Anbieter

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X