Wie auf null zurück, wenn der Zugriff auf eine moq Objekt?

Ich bin mit Moq Bibliothek für unit-Tests. Was ich jetzt möchte ist, dass wenn ich auf mein Objekt für die erste Zeit sollte es null zurückgeben, und wenn ich Zugang zu diesen auf zweiten mal sollte es wieder etwas anderes.

hier ist mein code

var mock = new Mock<IMyClass>();
mock.Setup(?????);
mock.Setup(?????);

var actual = target.Method(mock.object);

in meiner Methode bin ich zuerst zu überprüfen, ob das mock-Objekt null ist oder nicht, wenn es null ist, dann tun Sie es initialisieren und dann tun einige Anrufe drauf.

bool Method(IMyClass myObj)
{
    if (myObj != null)
        return true;
    else
    {
        myObj = new MyClass();
        bool result = myObj.SomeFunctionReturningBool();
        return result;
    }
}

was zu tun ist setup für mock-Objekt,

Außerdem muss ich wissen, wie zum Hohn dieser Zeile

bool result = myObj.SomeFunctionReturningBool();
  • dies ist nicht im Zusammenhang mit mocking, rufen Sie einfach die Methode in Ihrer Klasse übergeben von null realisieren, unit-test
  • Ich weiß nicht Recht bekommen es. Die Idee, mock ist nicht null als IMayClass. Wenn Sie möchten, dass null dann einfach aufrufen target.Method(null). Zur zweiten Frage: man kann einfach nicht. Sie erstellen Sie eine Instanz von MyClass und dann invoke-Methode auf, so kann es sich nicht spotten.
  • Methode else-Bedingung wird nur ausgeführt, wenn myObj, null ist, und sonst habe ich um einen Anruf zu tätigen, um SomeFunctionReturningBool, und wenn Sie null senden, dann kann ich nicht verspotten diese Funktion,
InformationsquelleAutor fhnaseer | 2012-07-16
Schreibe einen Kommentar