Je jouais avec des tests en utilisant les spécifications de la machine et il y a quelque chose que je ne suis pas en mesure de le faire, je me demandais si quelqu'un a été là avant,LambdaExpression comparaison
Est-il possible d'utiliser Rhino Mocks pour créer un talon pour une méthode qui utilise une expression lambda, je trouve que je peux faire ce qui suit
Avoir cette méthode dans une classe d'échantillon:
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);
}
je peux bouchonner la méthode comme ceci:
//...Inside test method
var user = new User();
repository.Stub(x=>x.FindBy<User>(Arg<Expression<Func<User,bool>>>.Is.Anything)).Return(user);
La chose est que je voudrais bouchonner la méthode pas Toute expression Lambda, juste pour la expression lambda spécifique"x=>x.Id==userId && user.IsActive ==true"
, de sorte que le test échouerait si ce changement d'expression dans la méthode ...
Je suppose que je pourrais créer un dépôt maquette qui ne va pas à la base de données et de tester le comportement dans le lambda mais cela, je me demandais s'il y a une autre approche de cette ...
toute suggestion sur cela, Merci
Juste par curiosité, que signifie "bdd" lorsque vous l'utilisez comme balise dans votre question? Je suppose que vous ne voulez pas dire des diagrammes de décision binaires ... –
@Pascal Cuoq: Développement axé sur le comportement: http://en.wikipedia.org/wiki/Behavior_Driven_Development. – jason