ORMにNHibernate、単体テストにNUnit、DIにNinjectを使用してアプリケーションを開発しています。私は次のように 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 でこのような基本的なクエリをモックするにはどうすればよいですか?