我可以使用种子在AutoFixture中重新生成随机值吗?

时间:2015-05-06 13:41:09

标签: c# unit-testing autofixture

AutoFixture中是否有任何方法可以使fixture.Create<string>()产生相同的结果?即,我可以用种子初始化夹具吗?

更新

更确切地说,我正在寻找一个随机值生成器,它是用一些随机种子初始化的,如果测试失败也会输出。因此,我可以为特定的测试运行取种子,并再次使用固定种子运行测试。种子应该适用于所有实例,无论其类型如何。我认为这是在测试中使用随机值的最有效方法,因为它具有巨大的覆盖范围,并且也是可重现的。

1 个答案:

答案 0 :(得分:4)

您正在查看名为freezing的功能:

var alwaysTheSameString = fixture.Freeze<string>();

如果需要,您还可以根据您的种子值冻结string

var alwaysTheSameFooString = fixture.Freeze<string>("foo");

请记住,当要求创建字符串时,AutoFixture仅使用提供的种子值。如果您想将种子值用于任何其他类型,则必须customize it yourself