在尝试基于NHibernate测试以下IRepository时遇到了问题:
public class NHibernateRepository<T>: Disposable, IRepository<T>
where T : IdentifiableObject
{
...
public IQueryable<T> Query()
{
return NHibernateSession.Linq<T>();
}
}
Run Code Online (Sandbox Code Playgroud)
如何在地狱中模拟IQueryable<T>以返回给出集合的方式返回某些表达式.我觉得我有一些误解IQueryable<T>......
在Moq这将是:
mockRepository.Expect( r => r.Query() ).Returns( myEnumerable.AsQueriable() );
Run Code Online (Sandbox Code Playgroud)
在RhinoMocks这将是:
Expect.Call( repository.Query() ).Return( myEnumerable.AsQueriable() );
Run Code Online (Sandbox Code Playgroud)