List<Customer> customerList= new List<Customer>();
List<Employee> employeeList= new List<Employee>();
Fakes.ShimDataServiceRepository<object>.AllInstances.GetEntitiesExpressionOfFuncOfT0Boolean = (instance, filter) =>
{
if (filter.Body.ToString().Contains("sg.CustomerName"))
{
return customerList.AsQueryable();
}
else if (filter.Body.ToString().Contains("ib.EmployeeName"))
{
return employeeList.AsQueryable();
}
return null;
};
当我的测试方法调用业务层方法和业务层方法调用unitofwork.CustomerRespository.GetEntities(过滤条件)时,调用转到
this.GetEntityQuery(filter, orderBy, includeProperties, startPage, pageSize);
并且它会调用实际的数据库调用和错误。
电话没有达到虚假
中的要点return customerList.AsQueryable();
当我使用特定类'Customer'而不是像
这样的对象时`Fakes.ShimDataServiceRepository<Customer>`
工作正常。但我需要一般的假方法。
请帮忙
答案 0 :(得分:0)
泛型类的每个实例都是一个单独的.NET类型。 Fakes API要求您单独填充每个实例,并且此时不提供单个API来填充多个类型。