我希望有人能给我一些想法。
我需要创建一个模拟对象,它满足以下条件:
我尝试了几种替代方案,并以以下代码结束:
fixture.Customize(new AutoConfiguredMoqCustomization());
fixture.Customize<IEntity>(c => c.FromFactory(
() => fixture.Create<Mock<EntityBase>>().As<IEntity>().Object));但是,我得到以下例外:
已通过访问其对象属性初始化了模拟类型。添加接口必须在此之前完成。:(
发布于 2017-04-21 09:03:33
您可以使用TypeRelay告诉AutoFixture,应该通过创建EntityBase实例来满足对IEntity的请求。
fixture.Customizations.Insert(0, new TypeRelay(typeof(IEntity), typeof(EntityBase)));现在,每次AutoFixture必须创建一个IEntity实例时,它都会创建一个EntityBase实例,这个实例将由EntityBase来处理,这要归功于AutoConfiguredMoqCustomization。
https://stackoverflow.com/questions/43529558
复制相似问题