Frage

Während ich googeln / Lesen für diese Antwort, die ich dachte, dass ich auch hier fragen würde.

Ich habe eine Klasse, die ein Wrapper für eine SDK ist. Die Klasse nimmt ein ILoader Objekt und verwendet das ILoader Objekt eine ISBAObject zu schaffen, die in ein ISmallBusinessInstance Objekt umgewandelt wird. Ich bin einfach nur versucht, dieses Verhalten zu verspotten mit Moq.

   [TestMethod]
    public void Test_Customer_GetByID()
    {
        var mock = new Mock<ILoader>();

        var sbainst = new Mock<ISbaObjects>();

        mock.Expect(x => x.GetSbaObjects("")).Returns(sbainst);


    }

Der Compiler Fehler lautet: Fehler 1 Die beste überladene Methode Spiel für ‚Moq.Language.IReturns.Returns (Microsoft.BusinessSolutions.SmallBusinessAccounting.Loader.ISbaObjects)‘ einige ungültige Argumente hat

Was ist denn hier los? Ich erwartete das Mock von ISbaObjects der Lage sein, ohne ein Problem zurückgegeben werden.

War es hilfreich?

Lösung

Sie müssen sbainst.Object verwenden, da sbinst keine Instanz von ISbaObjects ist - es ist nur der Schein-Teil

.

Andere Tipps

Aktualisiert richtigen Code

[TestMethod]
public void Test_Customer_GetByID()
{
    var mock = new Mock<ILoader>();

    var sbainst = new Mock<ISbaObjects>();

    mock.Expect(x => x.GetSbaObjects("")).Returns(sbainst.Object);


}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top