Pregunta
Me encontré con un problema al intentar probar el siguiente IRepository basado en NHibernate:
public class NHibernateRepository<T>: Disposable, IRepository<T>
where T : IdentifiableObject
{
...
public IQueryable<T> Query()
{
return NHibernateSession.Linq<T>();
}
}
¿Cómo diablos burlarse del regreso? IQueryable<T>
se realiza en la forma en que devuelve una colección dada a cambio de cierta expresión.Siento que tengo algún malentendido IQueryable<T>
...
Solución
En Moq
sería:
mockRepository.Expect( r => r.Query() ).Returns( myEnumerable.AsQueriable() );
En RhinoMocks
sería:
Expect.Call( repository.Query() ).Return( myEnumerable.AsQueriable() );
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow