Question

J'ai rencontré un problème en essayant de tester IRepository suivant basé sur NHibernate :

public class NHibernateRepository<T>: Disposable, IRepository<T> 
    where T : IdentifiableObject
{
    ...

    public IQueryable<T> Query()
    {
        return NHibernateSession.Linq<T>();
    }
}

Comment diable se moquer du retour IQueryable<T> de la manière dont il renvoie une collection donnée en échange d'une certaine expression.J'ai l'impression d'avoir une certaine incompréhension IQueryable<T>...

Était-ce utile?

La solution

Dans Moq ce serait:

mockRepository.Expect( r => r.Query() ).Returns( myEnumerable.AsQueriable() );

Dans RhinoMocks ce serait:

Expect.Call( repository.Query() ).Return( myEnumerable.AsQueriable() );
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top