In einfachem Englisch ist Moq eine Bibliothek, die, wenn Sie in Ihrem Projekt enthalten geben Ihnen Kraft in einfachen Unit Testing zu tun Weise. Warum? Weil eine Funktion eine andere aufrufen kann, dann eine andere und so weiter. Aber in Wirklichkeit, was benötigt wird, nur der Rückgabewert vom ersten Anruf bis zur nächsten Zeile. Moq hilft, den tatsächlichen Aufruf dieser Methode zu ignorieren, und Sie geben stattdessen zurück, was diese Funktion zurückgegeben hat. und überprüfen Sie, nachdem alle Zeilen des Codes ausgeführt wurde, was Sie wollen, was Sie erhalten oder nicht. Zu viel Englisch, so ist hier ein Beispiel:
String Somethod()
{
IHelper help = new IHelper();
String first = help.firstcall();
String second= secondcall(first);
return second;
}
Nun, hier first
zu für secondcall()
benötigt wird, aber man kann eigentlich nicht help.firstcall()
, wie es in einer anderen Schicht nennen. So ist Mocking getan, fälschen diese Methode aufgerufen wurde:
[TestMethod]
public void SomeMethod_TestSecond
{
mockedIHelper.Setup(x=>x.firstcall()).Returns("Whatever i want");
}
Hier denken, SetUP
als Methodenaufruf fälschen, sind wir nur daran interessiert in Returns
.
Excellent thanks ... Ich denke, ich muss lesen über Unit Testing mehr als gut - geschätzt Danke – leen3o
MOQ ist auch ein Begriff im Handelsgeschäft verwendet = "Mindestbestellmenge": ein Produkt, das $ 100 bei einer Bestellung kostet Menge von 5000 Stück könnte so niedrig wie $ 20 sein, wenn Sie eine Million Einheiten kaufen. Das hat nichts mit Informatik zu tun, die ich kenne! :) –
Mehr richtig, es ist ein Isolationsrahmen, da nicht alle Fälschungen Mocks sind. – StuperUser