Ich arbeite an etwas Code, der ein Muster der Kapselung aller Argumente zu einer Methode als "Anfrage" -Objekt und die Rückgabe eines "Antwort" -Objekts folgt. Dies hat jedoch einige Probleme verursacht, wenn es darum geht, mit MOQ zu spotten. Zum Beispiel:MOQ Stubbing Eigenschaft Wert auf "Any" -Objekt
public class Query : IQuery
{
public QueryResponse Execute(QueryRequest request)
{
// get the customer...
return new QueryResponse { Customer = customer };
}
}
public class QueryRequest
{
public string Key { get; set; }
}
public class QueryResponse
{
public Customer Customer { get; set; }
}
... in meinem Test Ich mag die Abfrage Stummel der Kunden zurück, wenn der Schlüssel
var customer = new Customer();
var key = "something";
var query = new Mock<ICustomerQuery>();
// I want to do something like this (but this does not work)
// i.e. I dont care what the request object that get passed is in but it must have the key value I want to give it
query.Setup(q => q.Execute(It.IsAny<QueryRequest>().Key = key)).Returns(new QueryResponse {Customer = customer});
gegeben ist, was ich in MOQ möglich will?
Schön, danke! – nashwan