MOQ Fehler Erwartet den Aufruf auf der mock einmal, aber war 0 mal
Ich bin neu auf MOQ und ich habe gelesen das Quickstart hier. Ich bin mit MOQ v4.2.1402.2112. Ich bin versucht, eine Einheit zu schaffen-test für die Aktualisierung ein person-Objekt. Die UpdatePerson
Methode gibt das aktualisierte Objekt person aus. Kann mir jemand sagen, wie man das korrigieren?
Bin ich immer diese Fehlermeldung:
Moq.MockException was unhandled by user code
HResult=-2146233088
Message=Error updating Person object
Expected invocation on the mock once, but was 0 times: svc => svc.UpdatePerson(.expected)
Configured setups: svc => svc.UpdatePerson(It.IsAny<Person>()), Times.Never
No invocations performed.
Source=Moq
IsVerificationError=true
Hier ist mein code:
[TestMethod]
public void UpdatePersonTest()
{
var expected = new Person()
{
PersonId = new Guid("some guid value"),
FirstName = "dev",
LastName = "test update",
UserName = "[email protected]",
Password = "password",
Salt = "6519",
Status = (int)StatusTypes.Active
};
PersonMock.Setup(svc => svc.UpdatePerson(It.IsAny<Person>()))
.Returns(expected)
.Verifiable();
var actual = PersonProxy.UpdatePerson(expected);
PersonMock.Verify(svc => svc.UpdatePerson(It.IsAny<Person>()), Times.Once(), "Error updating Person object");
Assert.AreEqual(expected, actual, "Not the same.");
}
Zeigen Sie uns die Methode, die Sie testen.
InformationsquelleAutor Que | 2014-03-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mit dieser Linie
Werden Sie durch Ihre Erwartung an mock, dass
UpdatePerson
Methode sollte mal genannt werden. Es scheitert, weil sich Ihr SUT (Klasse, die Sie testen) nicht rufen Sie diese Methode auf alle:Überprüfen Sie auch, wenn Sie verspottet Objekt
PersonProxy
. Es sollte so etwas wie:Und Umsetzung
InformationsquelleAutor Sergey Berezovskiy