Я играл с тестированием, используя технические характеристики машины, и есть кое-что, что я просто не в состоянии сделать, задавался вопросом, был ли кто-то там раньше,
Есть ли способ использовать Rhino Mocks для создания заглушки для метода, использующего лямбда-выражение, я обнаружил, что могу сделать следующее
Наличие этого метода в примере класса:
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);
Дело в том, что я хотел бы заглушить метод, чтобы не Любое лямбда-выражение , только для специфического лямбда-выражения "x=>x.Id==userId && user.IsActive ==true"
, чтобы тест не выполнялся, если это выражение изменения в методе ...
Полагаю, я мог бы создать фиктивный репозиторий, который не идет в базу данных, и протестировать поведение в лямбда-выражении, хотя, мне было интересно, есть ли другой подход к этому ...
Ценю любые предложения по этому вопросу,
Спасибо