用于数字范围的AutoFixture

时间:2016-11-25 19:08:59

标签: autofixture

使用AutoFixture有一种简单的方法吗?

var myInt = fixture.Create<int>(min, max);

拜托,这就是我所需要的。没有别的,仅此而已,我只需要一次。对于这个简单的句子,不需要全新的类层次结构。我想知道AutoFixture是否可以实现这一点,或者我是否必须实例化随机对象并自己完成工作。

如果无法做到这一点,是否有充分理由不在此处缺少此功能?

2 个答案:

答案 0 :(得分:1)

是的,有:

{
    "_id": {
        "$oid": "583893712f599701531b60bf"
    },
    "name": "",
    "password": "",
    "email": "",
    "favoriteMovies": [
        {
            "vote_average": ,
            "video": ,
            "vote_count": ,
            "popularity": ,
            "backdrop_path": "",
            "title": "",
            "original_language": "",
            "original_title": "",
            "id": ,
            "genre_ids": [],
            "release_date": "",
            "overview": "",
            "adult": ,
            "poster_path": "",
            "_id": ""
        }

答案 1 :(得分:0)

一次性可以做:

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);