Я действительно борется с тем, чтобы это работало. У меня есть общий шаблон репозитория, и мне нужно заглушить интерфейс репозитория с помощью Microsoft Fakes.Интерфейс-заглушка с общими методами, которые принимают предикаты
public interface IDataAccess<T> where T : class
{
void Add(T entity);
void Update(T entity);
void Delete(T entity);
void Delete(Expression<Func<T, bool>> where);
T FindById(long id);
T FindById(string id);
T Find(Expression<Func<T, bool>> where);
IEnumerable<T> FindAll();
IEnumerable<T> FindMany(Expression<Func<T, bool>> where);
IQueryable<T> Find(Expression<Func<T, bool>> predicate = null, params Expression<Func<T, object>>[] includes);
IQueryable<T> FindIncluding(params Expression<Func<T, object>>[] includeProperties);
}
пытается создать заглушки для
IQueryable<T> Find(Expression<Func<T, bool>> predicate = null, params Expression<Func<T, object>>[] includes);
IQueryable<T> FindIncluding(params Expression<Func<T, object>>[] includeProperties);
и в моем тесте ..
IDataAccess<EnterprisePermissionSet> dataAccess = new HG.Fus.Authentication.Data.Fakes.
StubIDataAccess<EnterprisePermissionSet>()
{
FindIncludingExpressionOfFuncOfT0ObjectArray =() => { };
};
Я просто понятия не имеют, как построить этот окурок,
Вы должны моделировать поведение, которое вы ищете внутри '{}' –
Вот что я делал в первом, но получаю сообщение об ошибке, что я не может преобразовать исходный тип «Lambda Expression» в целевой тип «IQueryable» –
JBeckton
ok, прочитайте мой ответ, я покажу, как заглушить эти методы ... –