C# 如何获取AutoFixture创建一个整数>;0,而不是另一个数字?

C# 如何获取AutoFixture创建一个整数>;0,而不是另一个数字?,c#,random,int,autofixture,C#,Random,Int,Autofixture,我希望AutoFixture生成两个整数,对于第二个整数,我不希望它是0,或者是之前生成的数字。是否有办法告诉AutoFixture遵守该“要求” 查看RandomNumericSequenceGenerator,我看起来像,因此可能不必指定第一个要求。接下来,我查看了“播种”选项,但如中所示,默认情况下,它不会用于数字 这里有我忽略的东西吗?这里有一种使用普通AutoFixture的方法: [事实] public void GenerateTwoDistinctNonZeroIntegersW

我希望AutoFixture生成两个整数,对于第二个整数,我不希望它是0,或者是之前生成的数字。是否有办法告诉AutoFixture遵守该“要求”

查看
RandomNumericSequenceGenerator
,我看起来像,因此可能不必指定第一个要求。接下来,我查看了“播种”选项,但如中所示,默认情况下,它不会用于数字


这里有我忽略的东西吗?

这里有一种使用普通AutoFixture的方法:

[事实]
public void GenerateTwoDistinctNonZeroIntegersWithAutoFixture()
{
var fixture=新fixture();
var生成器=fixture.Create();
var number=generator.Where(x=>x!=0).Distinct().Take(2);
// -> 72, 117
}
这里有一种方法可以做到这一点:

[理论,自动数据]
使用AutoFixtureXUnit的公共void GenerateToDistinctNonZeroIntegers(
发电机(发电机)
{
var number=generator.Where(x=>x!=0).Distinct().Take(2);
// -> 72, 117
}

您是使用普通AutoFixture还是AutoFixture.Xunit/NUnit?不幸的是,普通AutoFixture使用MSTest。为什么?例如,Xunit会有什么帮助呢?它不像AutoFixture.Xunit那样简单。请参阅下面的内容。为什么不使用
夹具。CreateMany(2)
?正如我从文档中了解到的,第二个数字总是>0,而不是另一个数字。很好!是的,这更简单,默认情况下也可以使用@MarkSeemann。这也应该是公认的答案。这会起作用,但请求的行为不是AutoFixture的默认行为吗?OMG,的确如此。当我第一次读原始问题时,我被欺骗了。正如@AlexanderW所评论的,应该是答案。抢手货谢谢你指出这一点。@NikosBaxevanis你是对的,我没有接受你的回答。我不能接受马克的评论,因为这当然是一个评论。也许马克可以“推广”他的评论,所以我可以接受;)