我正在开发一个应用程序,使用NHibernate作为ORM,NUnit进行单元测试,使用Ninject作为我的DI。我正在模拟ISession:
var session = new Mock<ISession>();
对于常规的非模拟会话对象,我可以使用LINQ扩展方法进行查询,示例如下:
var result = Session.Query<MyEntity>();
但是当我尝试使用以下代码进行模拟时...
session.Setup(s => s.Query<MyEntity>());
当我运行时,会出现一个“不支持”的异常:
Expression references a method that does not belong to the mocked object: s => s.Query<MyEntity>()
我该如何在Moq/NHibernate中模拟这样的基本查询?