Ich spiele herum mit Prüfmaschine Spezifikationen verwenden, und es ist etwas, das ich bin gerade zu tun nicht in der Lage, fragt mich, ob jemand dort gewesen,Lambda Vergleich
Gibt es eine Möglichkeit Rhino Mocks zu verwenden zu erstellen a Stummel für ein Verfahren, das einen Lambda-Ausdruck verwendet, fand ich, dass ich die folgende
mit dieser Methode in einer Probe Klasse tun können:
public void UpdateVisit(int userId){
var user = repository.FindBy<User>(x=>x.Id==userId && user.IsActive ==true);
user.Visit = user.Visit + 1;
repository.Save(user);
}
ich die Methode wie folgt Stummel kann:
//...Inside test method
var user = new User();
repository.Stub(x=>x.FindBy<User>(Arg<Expression<Func<User,bool>>>.Is.Anything)).Return(user);
Die Sache ist, ich möchte die Methode Stummel nicht Beliebig Lambda Expression, nur für die spezifischen Lambda-Ausdruck"x=>x.Id==userId && user.IsActive ==true"
, so dass der Test fehlschlagen würde, wenn dieser Ausdruck Änderungen in der Methode zur ...
ich glaube, ich könnte eine Mock-Repository erstellen, die nicht in die Datenbank geht und das Verhalten in dem Lambda obwohl dies testen, ich frage mich, ob es eine anderer Ansatz dazu ist ...
Vorschläge schätze auf dies, Danke
Nur aus Neugier, wofür steht "bdd", wenn Sie es als Tag in Ihrer Frage verwenden? Ich schätze, Sie meinen nicht binäre Entscheidungsdiagramme ... –
@Pascal Cuoq: Verhaltensorientierte Entwicklung: http://en.wikipedia.org/wiki/Behavior_Driven_Development. – jason