0

我刚刚开始在 C# .net 5.0 中使用 Bogus。我设法在沙盒应用程序中返回非常有用的数据,但我想将数据限制为基于美国。有没有办法做到这一点?(这是我的沙盒应用程序的一部分)

using Bogus;

namespace FrankenPeople
{
    public class GetBogus
    {
        public enum Gender
        {
            Male,
            Female
        }

        private static int userId = 1;

        private static readonly Faker<Person> fakeData = new Faker<Person>()
            .RuleFor(p => p.Id, f => userId++)
            .RuleFor(p => p.Gender, f => f.PickRandom<Gender>().ToString())
            .RuleFor(p => p.Title, f => f.Name.Prefix(f.Person.Gender))
            .RuleFor(p => p.FirstName, f => f.Name.FirstName(f.Person.Gender))
            .RuleFor(p => p.MiddleName, f => f.Name.FirstName(f.Person.Gender))
            .RuleFor(p => p.LastName, f => f.Name.LastName(f.Person.Gender))
            .RuleFor(p => p.StreetAddress, f => f.Address.StreetAddress())
            .RuleFor(p => p.StreetName, f => f.Address.StreetName())
            .RuleFor(p => p.City, f => f.Address.City())
            .RuleFor(p => p.State, f => f.Address.State())
            .RuleFor(p => p.Country, f => f.Address.Country())
            .RuleFor(p => p.ZipCode, f => f.Address.ZipCode())
            .RuleFor(p => p.Phone, f => f.Phone.PhoneNumber("(###)-###-####"))
            .RuleFor(p => p.Email, (f, p) => f.Internet.Email(p.FirstName, p.LastName))
            .RuleFor(p => p.SSN, f => f.Random.Replace("###-##-####"))
            .RuleFor(p => p.DOB, f => f.Date.Past(18))
        ;
        public static Faker<Person> FakeData => fakeData;
    }
}
4

2 回答 2

2

使用语言环境,您可以获得地址、域后缀和电话号码:

var faker = new Faker("en_US");
于 2021-01-28T18:50:26.023 回答
0

默认情况下,Bogus使用大致en基于美国的语言环境。如果您想尽可能地将事情锁定在美国,请使用语言环境。en_US

具体来说,在您的代码示例中,要指定默认值以外的区域设置,请更改:

fakeData = new Faker<Person>()   //default is `en`
             ...

fakeData = new Faker<Person>(locale: "en_US")
             ...

语言环境并非 100% 完美,请务必阅读 README 文件这部分的小说明:https ://github.com/bchavez/Bogus#locales

注意:某些语言环境可能没有完整的数据集。例如,zh_CN没有lorem数据集,但kolorem数据集。如果未找到特定于语言环境的数据集,则Bogus将默认为为了进一步说明前面的例子,缺失的数据集将默认为数据集。enzh_CN:loremen:lorem

于 2021-01-29T02:26:01.063 回答