【发布时间】:2018-03-24 07:13:10
【问题描述】:
我正在使用 AutoFixture 来填充一个相当大的接口对象,但我得到了每个属性的空值(或默认值)。我都试过了:
var fixture = new Fixture();
var input = fixture.Create<Mock<ICustomer>>();
还有:
var fixture = new Fixture();
fixture.Register(() => Mock.Of<ICustomer>());
var input = fixture.Create<ICustomer>();
在这两种情况下,生成的ICustomer 上的任何属性都不会被填充。我猜我漏掉了一些明显的东西?
【问题讨论】:
-
您注册了模拟
ICustomer的新实例。因此,您没有使用生成“虚拟”值的 AutoFixture 的好处。对于模拟实例,您仍然需要提供一些默认值 -
致那些渴望以重复的形式结束此问题的人:重新考虑。正如公认的答案所暗示的那样,它几乎不是重复的。
标签: c# unit-testing moq autofixture