我正在使用机器规格进行测试,有些事情我无法做到,想知道是否有人以前去过那里,
有什么方法可以使用 Rhino Mocks 为使用 lambda 表达式的方法创建存根,我发现我可以执行以下操作
在示例类中使用此方法:
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);
}
我可以像这样存根方法:
//...Inside test method
var user = new User();
repository.Stub(x=>x.FindBy<User>(Arg<Expression<Func<User,bool>>>.Is.Anything)).Return(user);
问题是我想把方法存根不是Any Lambda Expression,只是针对特定的 lambda 表达式 "x=>x.Id==userId && user.IsActive ==true"
,这样如果这个表达式在方法中发生变化,测试就会失败......
我想我可以创建一个不进入数据库的模拟存储库并测试 lambda 中的行为,但我想知道是否还有另一种方法......
感谢对此的任何建议,谢谢