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