我可以指定 Bogus 的随机种子吗?

b_l*_*itt 3 c# unit-testing bogus

我正在使用Bogus生成测试数据。

有没有办法设置它使用的种子,以便它以相同的顺序生成相同的测试数据?

例如,此测试将失败:

var person1 = new Bogus.Person();
var person2 = new Bogus.Person();
Assert.AreEqual(person1.FullName, person2.FullName);
Run Code Online (Sandbox Code Playgroud)

但是,有没有办法重置种子,使其不会,即:

Bogus.Config.SetSeed(1);
var person1 = new Bogus.Person();

Bogus.Config.SetSeed(1);
var person2 = new Bogus.Person();

Assert.AreEqual(person1.FullName, person2.FullName);
Run Code Online (Sandbox Code Playgroud)

D S*_*ley 5

自述文件中有一个这样的示例:

//Set the randomzier seed if you wish to generate repeatable data sets.
Randomizer.Seed = new Random(8675309);
Run Code Online (Sandbox Code Playgroud)

然而,设置了种子就意味着随机生成器的结果是一致的。要执行您想要的操作,您需要在每次调用之前重置种子以获得相同的结果。