Moq - Zugriff auf die verspottet Eigenschaften des Objekts
ZB:
Ich habe eine Schnittstelle mit einer Eigenschaft und einer Methode.
Die Methode hat etwas mit dem Wert der Eigenschaft.
Wie richte ich die mock Zugriff auf den Wert von Immobilien?
interface myInterface
{
Id{get;set;}
string ReturnIdAsString();
}
Mock<myInterface> mock = new Mock<myInterface>();
mock.Setup(m => m.Id).Returns(1);
mock.Setup(m => m.ReturnsIdAsString).Returns(**would like to return m.Id here**);
mock.Object.ReturnsIdAsString(); //should return the value in m.Id
Wie richte ich ReturnsIdAsString auf die Eigenschaft Id?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie
SetupGet
für Eigenschaften. Da bist du mocking eine Schnittstelle, gibt es keine zugrunde liegenden Implementierung, und Sie müssen die Methode zu.Alternativ können die Methode verwenden Sie einen lambda-Ausdruck auf seine Rückkehr, wenn Sie beabsichtigen, ändern Sie den Rückgabewert der
Id
Eigenschaft.Denken Sie daran, dass, auch wenn Ihre Klasse ruft
m.Id = 42
es nicht ändern, derGet
des Eigentums, aber Sie können überprüfen, eineSet
.