我如何修改 AutoFixture 的 float、double 和 decimal 的创建方法,以便在创建这些类型时它们也将有余数?
目前我这样做,但这会引发异常。
var fixture = new Fixture();
fixture.Customize<double>(sb => sb.FromFactory<double>(d => d * 1.33)); //This should add remainder
var value = fixture.Create<double>();
最佳答案
尝试通过使用相同类型 (double
) 的值来重新定义类型 (double
) 确实会产生无限递归。但是,您可以通过将种子输入更改为另一种类型来轻松完成这项工作 - 例如一个 int
:
var fixture = new Fixture();
fixture.Customize<double>(c => c.FromFactory<int>(i => i * 1.33));
var value = fixture.Create<double>();
double 现在也倾向于具有分数值。
关于c# - Autofixture - 创建带余数的 float 、 double 或小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17672861/