Frage

Ich verwende MoQ einige Controller zu testen, die ich habe. Ich bin nicht in der Lage, die Erwartungen zu setzen. Dies ist der Code, den ich habe:

        var rep = new Mock<IUserRepository>();
        rep.Setup(r => r.Save());

Das Problem ist, dass meine Save() Methode ein User Objekt erwartet, die ich nicht in der Erwartung gesetzt, weil eine Instanz wird von der Steuerung erstellt werden. Ist es möglich, Satz Erwartung, ohne einen bestimmten Parameter übergeben, und nur prüfen, ob die Methode unabhängig davon genannt wurde, welche Parameter übergeben wurde?

War es hilfreich?

Lösung

Können Sie erklären, was Sie unter „Save () Methode erwartet ein User-Objekt“? Hält sie es als Parameter erwarten? Wenn ja, können Sie, dass im Setup definiert werden:

rep.Setup(r => r.Save(It.IsAny<SomeObjectType>())

Und es wird in jedem Objekt nehmen, solange seine Art SomeObjectType ist.

Wenn Sie etwas anderes gemeint, dann zeigen Sie bitte ein Codebeispiel von dem, was das erwartete Verhalten ist.

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