模拟实体条目NHibernate

本文关键字:NHibernate 实体 模拟 | 更新日期: 2023-09-27 18:29:51

我正在为NHibernate的EntityEventListener进行一些单元测试,但我在模拟FlushEventEntityEntry时遇到了困难。

由于EntityEntry没有公共构造函数,并且类型Mock必须是接口、抽象类或非密封类。

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

模拟实体条目NHibernate

如果没有详细说明,我不能说这对你来说是否有意义,但当我遇到这样的情况时(一个我不能用Moq模拟的类,我也不能构建),我会用隔离框架来召集大人物。我通常使用Moles,但也有其他选项,如Typemock Isolator,我认为在下一个.NET框架中,Moles本身将被一个名为"Fakes"的内置隔离器所取代。但可以说,你正试图将Moq用于它不打算做的事情——它只是"自然"地创建mock,而不是作为一个隔离框架。