2012-04-02 7 views
2

NHibernateからEntityEventListenerのユニットテストをしていますが、FlushEventまたはEntityEntryをモックしようとしました。モックエンティティエントリNHibernate

As EntityEntryにはpublicコンストラクタがなく、Mock型はインターフェイス、抽象クラスまたは非密接クラスでなければなりません。いくつかの工夫がなければ

EntityEntry ee = new EntityEntry(); //NOT 
_entityEntryMock = new Mock<EntityEntry>(); //NOT 

答えて

2

、これは特に、あなたのために理にかなっている場合、私が言うことはできませんが、私はこのような状況(私は部品番号で模擬することができないと私は構築できませんクラス)を打ったとき私は隔離の枠組みを持って大きな銃を呼びます。私は一般的にMolesを使用していますが、Typemock Isolatorのようなオプションがあります.Moles自体が次の.NETフレームワークで "Fakes"という名前の組み込みアイソレータに置き換えられていると思います。しかし、あなたが意図していないことにMoqを使用しようとしているのであれば、それは単なる分離フレームワークとして機能せずに「自然に」モックを作成するということだけで十分です。