在这个测试中,我预计dummyVar是空的.但是,无论我将OmitAutoProperty设置为什么,它都不是.
这是正确的行为吗?为什么?什么是AutoFixture创建空虚拟人集合的方式?
[Fact]
public void ShouldBeEmpty()
{
var fixture = new Fixture();
fixture.Customize(new AutoMoqCustomization());
fixture.OmitAutoProperties = true;
var dummyVar = fixture.Create<IEnumerable<IComparable>>();
Assert.Empty(dummyVar);
}
Run Code Online (Sandbox Code Playgroud)
这是在AutoFixture 3.0中设计的.但是,如果您希望枚举为空,则也可以配置它.
如果您明确只想要IEnumerable<IComparable>
(但不是其他集合)为空,则更简单的方法是:
fixture.Inject<IEnumerable<IComparable>>(new IComparable[0]);
Run Code Online (Sandbox Code Playgroud)
OmitAutoProperties
控制是否填充对象属性(和字段).它不会影响集合的大小.(IEnumerable<T>
定义没有可写属性.)
RepeatCount
控制集合的大小,但正如前面提到的问题报告,您不能设置RepeatCount
为0(再次设计).
归档时间: |
|
查看次数: |
1055 次 |
最近记录: |