我希望AutoFixture生成两个整数,对于第二个整数,我不希望它为0或前一个生成的数字。有没有一种方法可以告诉AutoFixture兑现该“要求”。
查看RandomNumericSequenceGenerator
,我看起来像lower limit is 1,所以我可能不必指定第一个要求。接下来,我正在查看“种子”选项,但是如this answer所示,默认情况下,它将不用于数字。
我在这里有东西可以俯瞰吗?
最佳答案
这是使用普通AutoFixture做到这一点的一种方法:
[Fact]
public void GenerateTwoDistinctNonZeroIntegersWithAutoFixture()
{
var fixture = new Fixture();
var generator = fixture.Create<Generator<int>>();
var numbers = generator.Where(x => x != 0).Distinct().Take(2);
// -> 72, 117
}
这是使用AutoFixture.Xunit做到这一点的一种方法:
[Theory, AutoData]
public void GenerateTwoDistinctNonZeroIntegersWithAutoFixtureXunit(
Generator<int> generator)
{
var numbers = generator.Where(x => x != 0).Distinct().Take(2);
// -> 72, 117
}
关于c# - 如何让AutoFixture创建一个大于0的整数,而不是另一个数字?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32781002/