有什么简单的方法可以用AutoFixture做到这一点吗?
var myInt = fixture.Create<int>(min, max);我想知道这在AutoFixture中是否可行,或者我是否必须实例化一个随机对象并自己做这项工作。
如果这是不可能的,有一个很好的理由没有这个功能,我在这里错过了?
发布于 2016-11-25 21:13:00
有的,有:
// Install-Package AutoFixture.Xunit - or -
// Install-Package AutoFixture.Xunit2
using System;
using System.ComponentModel.DataAnnotations;
using Xunit;
[Theory, AutoData]
public void ActualIsInTestRange([Range(99, 111)]int actual)
{
Assert.InRange(actual, 99, 111);
}发布于 2019-07-19 07:56:21
作为一个一次性的人,你可以这么做:
var value = fixture.Create<int>() % (max - min + 1) + min;作为一种更可重用的方法,您可以编写如下扩展方法:
public static class FixtureExtensions
{
public static int CreateInt(this IFixture fixture, int min, int max)
{
return fixture.Create<int>() % (max - min + 1) + min;
}
}然后可以如下所用:
var value = fixture.CreateInt(min, max);https://stackoverflow.com/questions/40811099
复制相似问题