Bogus

2025-12-11 0 745

Bogus for .net:c#,f#和vb.net

项目描述

你好。我是您的主持人Brian Chavez (Twitter)。 Bogus是一个简单的假数据生成器,适用于C#f#vb.net.NET语言。 Bogus从根本上是faker.jsc#端口,受FluentValidation的语法糖的启发。

Bogus将帮助您为您的测试需求加载数据库,UI和应用程序。如果您喜欢Bogus Star the Reportory并向您的朋友展示! ?如果您发现Bogus有用,请考虑通过购买Bogus Premium许可证来支持该项目,从而为您提供额外的Bogus超级大国! ??您也可以在这里赞助该项目! ??

下载并安装

Nuget软件包Bogus

 Install-Package Bogus

最小要求: .NET标准1.3.NET标准2.0.NET框架4.0

使用Bogus的项目
  • Bitwarden无密码服务器[代码]
  • Elasticsearch .NET客户端(NEST) [代码]
  • Fulentvalidation [代码]
  • Microsoft Windows-XAML / Template10 [代码]
  • Microsoft学习 /云本地应用程序使用Microsoft Azure Cosmos DB [代码]
  • Microsoft Office开发人员
    • Office 365开发培训内容[代码]
    • 微软团队样本连接器[代码]
出现在
  • Amazon AWS .NET开源基金收件人 – 2024年10月1日
  • Microsoft\’on .net live\’: Bogus的下一级EF核心数据播种 – 2024年4月15日
  • .NET冒险:与Brian Chavez建造Bogus – 2024年1月5日
  • 微软文档:将奥尔良部署到Azure App Service- 2022年5月5日
  • Microsoft文档:现代化WPF应用程序教程 – 2019年8月2日
  • Microsoft Build 2018:Azure提示和技巧 – 2018年5月8日
  • Nuget必须拥有:2017年前10个单元测试库
  • .NET Rocks播客:#BetterKnowphatFramework- 2017年3月16日2018年9月13日2020年5月7日
  • .NET工程博客:第1周的Nuget软件包。 – “本周.NET- 2015年12月8日”
博客文章
  • Nick Chapsas-使用Bogus [YouTube]在.NET中生成逼真的假数据
  • Jack Histon-如何在C#中创建Bogus数据
  • 克里斯托斯·马茨卡斯(Christos Matskas) – 使用虚假创建.net Bogus
  • 杰森·罗伯茨(Jason Roberts) – Bogus的寿命数据生成
  • 标记Timmings-使用Bogus自动生成测试数据
  • .NET核心生成测试数据
  • 史蒂夫·利(Steve Leigh) – 肮脏的假用户
  • Volkan Paksoy-使用Bogus生成测试数据
  • Alican demirtas- Bogus f#
  • Khalid Abuhakmeh- Bogus的种子实体框架核心
  • Sander Ten Brinke-将实体框架核心数据播种到一个Bogus的水平
加密小费罐!

用法

伟大的C#示例

Bogus.Extensions namespace.
.RuleFor(o => o.LotNumber, f => f.Random.Int(0, 100).OrNull(f, .8f));

var userIds = 0;
var testUsers = new Faker<User>()
//Optional: Call for objects that have complex initialization
.CustomInstantiator(f => new User(userIds++, f.Random.Replace(\”###-##-####\”)))

//Use an enum outside scope.
.RuleFor(u => u.Gender, f => f.PickRandom<Gender>())

//Basic rules using built-in generators
.RuleFor(u => u.FirstName, (f, u) => f.Name.FirstName(u.Gender))
.RuleFor(u => u.LastName, (f, u) => f.Name.LastName(u.Gender))
.RuleFor(u => u.Avatar, f => f.Internet.Avatar())
.RuleFor(u => u.UserName, (f, u) => f.Internet.UserName(u.FirstName, u.LastName))
.RuleFor(u => u.Email, (f, u) => f.Internet.Email(u.FirstName, u.LastName))
.RuleFor(u => u.SomethingUnique, f => $\”Value {f.UniqueIndex}\”)

//Use a method outside scope.
.RuleFor(u => u.CartId, f => Guid.NewGuid())
//Compound property with context, use the first/last name properties
.RuleFor(u => u.FullName, (f, u) => u.FirstName + \” \” + u.LastName)
//And composability of a complex collection.
.RuleFor(u => u.Orders, f => testOrders.Generate(3).ToList())
//Optional: After all rules are applied finish with the following action
.FinishWith((f, u) =>
{
Console.WriteLine(\”User Created! Id={0}\”, u.Id);
});

var user = testUsers.Generate();
Console.WriteLine(user.DumpAsJson());

/* OUTPUT:
User Created! Id=0
*
{
\”Id\”: 0,
\”FirstName\”: \”Audrey\”,
\”LastName\”: \”Spencer\”,
\”FullName\”: \”Audrey Spencer\”,
\”UserName\”: \”Audrey_Spencer72\”,
\”Email\”: \”Audrey82@gmail.com\”,
\”Avatar\”: \”https://s3.a**maz*onaws.com/uifaces/faces/twitter/itstotallyamy/128.jpg\”,
\”CartId\”: \”863f9462-5b88-471f-b833-991d68db8c93\”,
\”SSN\”: \”923-88-4231\”,
\”Gender\”: 0,
\”Orders\”: [
{
\”OrderId\”: 0,
\”Item\”: \”orange\”,
\”Quantity\”: 8
},
{
\”OrderId\”: 1,
\”Item\”: \”banana\”,
\”Quantity\”: 2
},
{
\”OrderId\”: 2,
\”Item\”: \”kiwi\”,
\”Quantity\”: 9
}
]
} */\”>

 public enum Gender
{
    Male ,
    Female
}

//Set the randomizer seed if you wish to generate repeatable data sets.
Randomizer . Seed = new Random ( 8675309 ) ;

var fruit = new [ ] { \"apple\" , \"banana\" , \"orange\" , \"strawberry\" , \"kiwi\" } ;

var orderIds = 0 ;
var testOrders = new Faker < Order > ( )
    //Ensure all properties have rules. By default, StrictMode is false
    //Set a global policy by using Faker.DefaultStrictMode
    . StrictMode ( true )
    //OrderId is deterministic
    . RuleFor ( o => o . OrderId , f => orderIds ++ )
    //Pick some fruit from a basket
    . RuleFor ( o => o . Item , f => f . PickRandom ( fruit ) )
    //A random quantity from 1 to 10
    . RuleFor ( o => o . Quantity , f => f . Random . Number ( 1 , 10 ) )
    //A nullable int? with 80% probability of being null.
    //The .OrNull extension is in the Bogus .Extensions namespace.
    . RuleFor ( o => o . LotNumber , f => f . Random . Int ( 0 , 100 ) . OrNull ( f , .8f ) ) ;


var userIds = 0 ;
var testUsers = new Faker < User > ( )
    //Optional: Call for objects that have complex initialization
    . CustomInstantiator ( f => new User ( userIds ++ , f . Random . Replace ( \"###-##-####\" ) ) )

    //Use an enum outside scope.
    . RuleFor ( u => u . Gender , f => f . PickRandom < Gender > ( ) )

    //Basic rules using built-in generators
    . RuleFor ( u => u . FirstName , ( f , u ) => f . Name . FirstName ( u . Gender ) )
    . RuleFor ( u => u . LastName , ( f , u ) => f . Name . LastName ( u . Gender ) )
    . RuleFor ( u => u . Avatar , f => f . Internet . Avatar ( ) )
    . RuleFor ( u => u . UserName , ( f , u ) => f . Internet . UserName ( u . FirstName , u . LastName ) )
    . RuleFor ( u => u . Email , ( f , u ) => f . Internet . Email ( u . FirstName , u . LastName ) )
    . RuleFor ( u => u . SomethingUnique , f => $ \"Value { f . UniqueIndex } \" )

    //Use a method outside scope.
    . RuleFor ( u => u . CartId , f => Guid . NewGuid ( ) )
    //Compound property with context, use the first/last name properties
    . RuleFor ( u => u . FullName , ( f , u ) => u . FirstName + \" \" + u . LastName )
    //And composability of a complex collection.
    . RuleFor ( u => u . Orders , f => testOrders . Generate ( 3 ) . ToList ( ) )
    //Optional: After all rules are applied finish with the following action
    . FinishWith ( ( f , u ) =>
        {
            Console . WriteLine ( \"User Created! Id={0}\" , u . Id ) ;
        } ) ;

var user = testUsers . Generate ( ) ;
Console . WriteLine ( user . DumpAsJson ( ) ) ;

/* OUTPUT:
User Created! Id=0
 *
{
  \"Id\": 0,
  \"FirstName\": \"Audrey\",
  \"LastName\": \"Spencer\",
  \"FullName\": \"Audrey Spencer\",
  \"UserName\": \"Audrey_Spencer72\",
  \"Email\": \"Audrey82@gmail.com\",
  \"Avatar\": \"https://s3.a**maz*onaws.com/uifaces/faces/twitter/itstotallyamy/128.jpg\",
  \"CartId\": \"863f9462-5b88-471f-b833-991d68db8c93\",
  \"SSN\": \"923-88-4231\",
  \"Gender\": 0,
  \"Orders\": [
    {
      \"OrderId\": 0,
      \"Item\": \"orange\",
      \"Quantity\": 8
    },
    {
      \"OrderId\": 1,
      \"Item\": \"banana\",
      \"Quantity\": 2
    },
    {
      \"OrderId\": 2,
      \"Item\": \"kiwi\",
      \"Quantity\": 9
    }
  ]
} */ 

更多例子!

语言 描述
C# 完整的工作示例“伟大的C#示例”
C# 将Bogus和EF Core用于种子数据库
C# 使用自定义API和数据扩展Bogus
F# 将Bogus与F#一起使用
vb.net 将Bogus与vb.net一起使用

地区

由于我们是Faker.js的港口,因此我们支持许多不同的地区。这是韩语的一个例子:

Bogus.DataSets.Lorem(locale: \”ko\”);
Console.WriteLine(lorem.Sentence(5));
}

/* 국가는 무상으로 행위로 의무를 구성하지 신체의 처벌받지 예술가의 경우와 */\”>

 [ Test ]
public void With_Korean_Locale ( )
{
    var lorem = new Bogus . DataSets . Lorem ( locale : \"ko\" ) ;
    Console . WriteLine ( lorem . Sentence ( 5 ) ) ;
}

/* 국가는 무상으로 행위로 의무를 구성하지 신체의 처벌받지 예술가의 경우와 */

Bogus支持以下地区:

区域代码 语言 区域代码 语言
af_ZA 南非荷兰语 fr_CH 法国(瑞士)
ar 阿拉伯 ge 格鲁吉亚人
az 阿塞拜疆 hr hrvatski
cz 捷克 id_ID 印度尼西亚
de 德语 it 意大利人
de_AT 德国(奥地利) ja 日本人
de_CH 德国(瑞士) ko 韩国人
el 希腊语 lv 拉脱维亚
en 英语 nb_NO 挪威
en_AU 英语(澳大利亚) ne 尼泊尔
en_AU_ocker 英语(澳大利亚ocker) nl 荷兰
en_BORK 英语(Bork) nl_BE 荷兰(比利时)
en_CA 英语(加拿大) pl 抛光
en_GB 英语(英国) pt_BR 葡萄牙(巴西)
en_IE 英语(爱尔兰) pt_PT 葡萄牙(葡萄牙)
en_IND 英语(印度) ro 罗马尼亚人
en_NG 尼日利亚(英语) ru 俄语
en_US 英语(美国) sk 斯洛伐克
en_ZA 英语(南非) sv 瑞典
es 西班牙语 tr 土耳其
es_MX 西班牙语(墨西哥) uk 乌克兰
fa 波斯语 vi 越南人
fi 芬兰 zh_CN 中国人
fr 法语 zh_TW 中国(台湾)
fr_CA 法语(加拿大) zu_ZA 祖鲁(南非)

注意:某些地区可能没有完整的数据集。例如, zh_CN没有lorem数据集,但是ko具有lorem数据集。如果找不到特定于环境的数据集, Bogus将默认为en 。为了进一步说明上一个示例,丢失的zh_CN:lorem数据集将默认为en:lorem数据集。

如果您想帮助贡献新的地区或更新现有的地区,请参阅我们的创建Wiki Wiki页面以获取更多信息。

没有流利的语法

您可以使用Bogus没有流利的设置。下面的示例突出了三种使用Bogus而没有流利语法设置的替代方法。

  • 使用Faker立面。
  • 直接使用数据集
  • 使用Faker<T>继承

使用Faker立面:

 public void Using_The_Faker_Facade ( )
{
   var faker = new Faker ( \"en\" ) ;
   var o = new Order ( )
       {
           OrderId = faker . Random . Number ( 1 , 100 ) ,
           Item = faker . Lorem . Sentence ( ) ,
           Quantity = faker . Random . Number ( 1 , 10 )
       } ;
   o . Dump ( ) ;
} 

直接使用数据集

Bogus.Randomizer();
var lorem = new Bogus .DataSets.Lorem(\”en\”);
var o = new Order()
{
OrderId = random.Number(1, 100),
Item = lorem.Sentence(),
Quantity = random.Number(1, 10)
};
o.Dump();
}\”>

 public void Using_DataSets_Directly ( )
{
   var random = new Bogus . Randomizer ( ) ;
   var lorem = new Bogus . DataSets . Lorem ( \"en\" ) ;
   var o = new Order ( )
       {
           OrderId = random . Number ( 1 , 100 ) ,
           Item = lorem . Sentence ( ) ,
           Quantity = random . Number ( 1 , 10 )
       } ;
   o . Dump ( ) ;
} 

使用Faker<T>继承:

 public class OrderFaker : Faker < Order > {
   public OrderFaker ( ) {
      RuleFor ( o => o . OrderId , f => f . Random . Number ( 1 , 100 ) ) ;
      RuleFor ( o => o . Item , f => f . Lorem . Sentence ( ) ) ;
      RuleFor ( o => o . Quantity , f => f . Random . Number ( 1 , 10 ) ) ;
   }
}

public void Using_FakerT_Inheritance ( )
{
   var orderFaker = new OrderFaker ( ) ;
   var o = orderFaker . Generate ( ) ;
   o . Dump ( ) ;
}

在上面的示例中,使用Bogus的所有三种替代方式都会产生相同的Order结果:

 {
  \"OrderId\": 61,
  \"Item\": \"vel est ipsa\",
  \"Quantity\": 7
}

Bogus API支持

  • Address

    • ZipCode获取ZipCode。
    • City – 获取城市名称。
    • StreetAddress获取街道地址。
    • CityPrefix获得城市前缀。
    • CitySuffix获得城市后缀。
    • StreetName获取街道名称。
    • BuildingNumber获取一个建筑号码。
    • StreetSuffix获得街有后缀。
    • SecondaryAddress获取一个辅助地址,例如apt。 2\’或“套房321”。
    • County – 得到一个县。
    • Country – 获得一个国家。
    • FullAddress获得街道,城市,国家等完整地址。
    • CountryCode获取随机的ISO 3166-1国家代码。
    • State – 获取随机状态。
    • StateAbbr获得州缩写。
    • Latitude – 获得纬度。
    • Longitude – 获得经度。
    • Direction – 生成基本或序数方向。即:西北,南,SW,E。
    • CardinalDirection – 生成基本方向。即:北,南,E,W。
    • OrdinalDirection生成序数方向。 IE:西北,东南,西南。
  • Commerce
    • Department – 获取一个随机商务部。
    • Price – 获取随机产品价格。
    • Categories – 获取随机产品类别。
    • ProductName – 获取随机产品名称。
    • Color – 获取随机颜色。
    • Product – 获取随机产品。
    • ProductAdjective随机产品形容词。
    • ProductMaterial – 随机产品材料。
    • Ean8获取随机EAN -8条形码号。
    • Ean13获取随机EAN -13条形码编号。
  • Company
    • CompanySuffix获取公司后缀。 “ Inc”和“ LLC”等。
    • CompanyName – 获取公司名称。
    • CatchPhrase – 获取公司的插词。
    • Bs获取公司BS短语。
  • Database
    • Column – 生成列名。
    • Type – 生成列类型。
    • Collation – 产生整理。
    • Engine – 生成存储引擎。
  • Date
    • Past – 过去在refDateyearsToGoBack之间获得DateTime
    • PastOffsetrefDateyearsToGoBack之间获得DateTimeOffset
    • Soon – 获得将很快发生的DateTime
    • SoonOffset – 获取将很快发生的DateTimeOffset
    • FuturerefDateyearsToGoForward遥之间获得DateTime
    • FutureOffsetrefDateyearsToGoForward之间获取未来的DateTimeOffset
    • Between – 在startend之间获取随机的DateTime
    • BetweenOffset – 在startend之间获取一个随机的DateTimeOffset
    • Recent – 在过去几天内获取随机的DateTime
    • RecentOffset在过去几天内获取随机的DateTimeOffset
    • Timespan – 获取一个随机TimeSpan
    • Month – 随机一个月。
    • Weekday – 随机工作日。
  • Finance
    • Account – 获取一个帐号。默认长度为8位。
    • AccountName – 获取帐户名。像“储蓄”,“检查”,“房屋贷款”等。
    • Amount – 获取随机金额。默认为0-1000。
    • TransactionType获取交易类型:“存款”,“提款”,“付款”或“发票”。
    • Currency – 获取随机货币。
    • CreditCardNumber生成带有有效Luhn校验和的随机信用卡号。
    • CreditCardCvv生成信用卡CVV。
    • BitcoinAddress生成一个随机的比特币地址。
    • EthereumAddress – 生成一个随机的以太坊地址。
    • RoutingNumber生成具有有效检查数字的ABA路由号。
    • Bic生成银行标识符代码(BIC)代码。
    • Iban生成国际银行帐号(IBAN)。
  • Hacker
    • Abbreviation – 返回缩写。
    • Adjective – 返回形容词。
    • Noun – 返回名词。
    • Verb – 返回动词。
    • IngVerb返回一个以-ing结尾的动词。
    • Phrase – 返回一个短语。
  • Images
    • DataUri获取具有特定宽度和高度的SVG数据URI图像。
    • PicsumUrl从https://p**icsum.p*hotos服务获取图像。
    • PlaceholderUrl – 从https://p*lace*ho*lder.com服务获取图像。
    • LoremFlickrUrl从https://l*or*emflic*kr.com服务获取图像。
  • Internet
    • Avatar从Twitter帐户生成合法的Internet URL AVATAR。
    • Email – 生成电子邮件地址。
    • ExampleEmail – 与 @example.com生成示例电子邮件。
    • UserName – 生成用户名。
    • UserNameUnicode生成一个保留Unicode字符的用户名。
    • DomainName生成一个随机域名。
    • DomainWord – 生成用于域名的域单词。
    • DomainSuffix生成一个域名后缀,例如.com,.net,.org
    • Ip获取一个随机的IPv4地址字符串。
    • Port – 生成一个随机端口号。
    • IpAddress获取随机的IPv4 iPaddress类型。
    • IpEndPoint获取一个随机的IPv4 ipendpoint。
    • Ipv6生成一个随机的IPv6地址字符串。
    • Ipv6Address生成随机的IPv6 iPaddress类型。
    • Ipv6EndPoint获取一个随机的IPv6 ipendpoint。
    • UserAgent生成随机用户代理。
    • Mac获取随机MAC地址。
    • Password – 生成随机密码。
    • Color – 在基本RGB附近获得随机的美学上令人愉悦的颜色。请参阅此处。
    • Protocol – 返回随机协议。 http或https。
    • Url生成一个随机URL。
    • UrlWithPath获取具有随机路径的绝对URL。
    • UrlRootedPath获取一个扎根的URL路径,例如: /foo /bar。可选的使用文件扩展名。
  • Lorem
    • Word – 获取一个随机的Lorem单词。
    • Words – 获取一系列随机的Lorem单词。
    • Letter – 获取角色字母。
    • Sentence – 获取特定单词数的随机句子。
    • Sentences – 获取一些句子。
    • Paragraph – 获取段落。
    • Paragraphs – 获取指定数量的段落。
    • Text – 获取随机LOREM方法的随机文本。
    • Lines – 获取Lorem线。
    • Slug slugify lorem单词。
  • Name
    • FirstName获取名字。获得性别特定名称仅在支持它的地方支持。
    • LastName – 获取姓氏。获得性别特定名称仅在支持它的地方支持。
    • FullName获取全名,呼叫名称和姓氏的串联。
    • Prefix – 获得名称的随机前缀。
    • Suffix – 获取一个名称的随机后缀。
    • FindName获取全名。
    • JobTitle获取一个随机的职位。
    • JobDescriptor获取职位描述。
    • JobArea获得工作区专业知识。
    • JobType获得一种工作。
  • Phone
    • PhoneNumber获取电话号码。
    • PhoneNumberFormat根据语言环境的phone_number.formats []阵列索引获取电话号码。
  • Rant
    • Review – 生成随机的用户评论。
    • Reviews – 生成一系列随机评论。
  • System
    • FileName – 获取一个随机文件名。
    • DirectoryPath获取随机目录路径(UNIX)。
    • FilePath获取随机文件路径(UNIX)。
    • CommonFileName生成带有公共文件扩展名的随机文件名。
    • MimeType – 获取随机的MIME类型。
    • CommonFileType返回常用的文件类型。
    • CommonFileExt返回常用的文件扩展名。
    • FileType返回以Mime -Type可用的任何文件类型。
    • FileExt获取给定MIME类型的随机扩展。
    • Semver获取随机的SEMVER版本字符串。
    • Version – 获取随机Version
    • Exception – 获取带有假堆栈跟踪的随机Exception
    • AndroidId获取随机的GCM注册ID。
    • ApplePushToken获取随机的Apple推动令牌。
    • BlackBerryPin获取一个随机的BlackBerry Device Pin。
  • Vehicle
    • Vin生成车辆识别号(VIN)。
    • Manufacturer – 获取车辆制造名称。即:丰田,福特,保时捷。
    • Model – 获取车辆型号。即:凯美瑞,公民,协议。
    • Type – 获取车辆类型。即:小型货车,SUV,轿车。
    • Fuel – 获取车辆燃料类型。即:电动,汽油,柴油。
  • Random / Randomizer
    • Number – 从0到最大获得INT。
    • Digits – 获取随机数字序列。
    • Even – 返回一个随机的数字。
    • Odd – 返回一个随机奇数。
    • Double – 获得一个随机双,在0.0到1.0之间。
    • Decimal – 获取0.0至1.0之间的随机小数。
    • Float – 获取一个随机浮点,在0.0到1.0之间。
    • Byte – 生成0到255之间的随机字节。
    • Bytes – 获取一个随机字节序列。
    • SByte生成-128和127之间的随机SBYTE。
    • Int在MinValue和MaxValue之间生成一个随机INT。
    • UInt在MinValue和MaxValue之间生成一个随机的UINT。
    • ULong在Minvalue和MaxValue之间产生随机溃疡。
    • Long – 在MinValue和MaxValue之间产生一个随机长。
    • Short – 在MinValue和MaxValue之间生成一个随机的短路。
    • UShort在Minvalue和MaxValue之间产生一个随机的吸管。
    • Char在MinValue和MaxValue之间产生一个随机炭。
    • Chars – 在MinValue和MaxValue之间产生一个随机炭。
    • String – 获取特定长度的字符串。
    • String2获取带有特定长度绘制字符的chars字符串。
    • Hash – 返回随机的六个哈希。默认40个字符,又名SHA-1。
    • Bool – 获取随机布尔。
    • ArrayElement<T> – 获取一个随机数组元素。
    • ArrayElement获取一个随机数组元素。
    • ArrayElements<T> – 获取数组的随机子集。
    • ListItem<T> – 获取一个随机列表项。
    • ListItems<T> – 获取列表的随机子集。
    • CollectionItem<T> – 获取一个随机收集项目。
    • ReplaceNumbers – 用数字代替符号。
    • ReplaceSymbols – 在字符串中替换每个字符实例。
    • Replace – 用数字和字母代替符号。 #=数字,? =字母, * =数字或字母。
    • ClampString – 夹紧字符串的长度在最小字符和最大字符之间。
    • Enum<T> – 选择一个随机枚举。仅与枚举一起工作。
    • Shuffle<T> – 洗牌一个可衡量的来源。
    • Word – 以英语返回一个单词或短语。
    • Words – 以英语获取一些随机的单词和短语。
    • WordsArray在数组(英语)中获取一系列单词。
    • Guid获取随机GUID。
    • Uuid获取随机指导。随机器的别名guid()。
    • RandomLocale返回随机位置。
    • AlphaNumeric – 返回一组随机的alpha数字字符0-9,AZ。
    • Hexadecimal – 生成一个随机的十六进制串。
    • WeightedRandom<T> – 基于概率的加权分布返回t []的选择。

API扩展方法

  • using Bogus .Extensions.Belgium;

    • Bogus .Person.NationalNumber() -rijksregisternummer /numéro国家
  • using Bogus .Extensions.Brazil;

    • Bogus .Person.Cpf() -Cadastro de pessoasfísicas
    • Bogus .DataSets.Company.Cnpj() -Cadastro nacional da pessoajurídica
  • using Bogus .Extensions.Canada;
    • Bogus .Person.Sin() – 加拿大的社会保险号码
  • using Bogus .Extensions.Denmark;

    • Bogus .Person.Cpr() – 丹麦个人身份证号码
  • using Bogus .Extensions.Finland;

    • Bogus .Person.Henkilotunnus() -FinnishHenkilötunnus
  • using Bogus .Extensions.Italy;
    • Bogus .Person.CodiceFiscale()
    • Bogus .DataSets.Finance.CodiceFiscale()
  • using Bogus .Extensions.Norway;
    • Bogus .Person.Fodselsnummer() – 挪威民族身份编号
  • using Bogus .Extensions.Poland;

    • Bogus .Person.Pesel() – Powszechny Elektroniczny系统EwidencjiLudności(Pesel)的数量
    • Bogus .DataSets.Company.Nip() – numer Identyfikacji podatkowej(nip)
    • Bogus .DataSets.Company.Regon() – rejerter goppodarki narodowej(regon)的数量
  • using Bogus .Extensions.Portugal;

    • Bogus .Person.Nif() -NúmeroDeIdentificação财政(NIF)
    • Bogus .DataSets.Company.Nipc()
  • using Bogus .Extensions.Romania;
    • Bogus .Person.Cnp() – 罗马尼亚个人身份证号(CNP)
  • using Bogus .Extensions.Sweden;
    • Bogus .Person.Personnummer() – 瑞典民族身份号码
    • Bogus .Person.Samordningsnummer() – 瑞典协调号码
  • using Bogus .Extensions.UnitedKingdom;

    • Bogus .DataSets.Vehicle.GbRegistrationPlate() – GB车辆登记板
    • Bogus .DataSets.Finance.SortCode() – 银行排序代码
    • Bogus .DataSets.Finance.Nino() – 国民保险号码
    • Bogus .DataSets.Finance.VatNumber() – 生成英国兼容的增值税注册号
    • Bogus .DataSets.Address.CountryOfUnitedKingdom() – 英国国家
  • using Bogus .Extensions.UnitedStates;

    • Bogus .Person.Ssn() – 社会安全号码
    • Bogus .DataSets.Company.Ein() – 雇主身份证号码
  • using Bogus .Distributions.Gaussian;

    • Randomizer.GaussianInt() – 基于特定的正态分布生成int
    • Randomizer.GaussianFloat() – 基于特定的正态分布生成float
    • Randomizer.GaussianDouble() – 根据特定的正态分布生成double
    • Randomizer.GaussianDecimal() – 基于特定的正态分布生成decimal

惊人的社区扩展

  • @NickDoDD79的Auto BogusNuGet Package ) – 通过添加自动.RuleFor()创建和人口功能来扩展Bogus
  • 淘气。 BogusNuGet Package )由@simoncropp –bogus-扩展了带有顽皮字符串列表的Bogus ,这些字符串的可能性很高,该字符串可能在用作用户输入数据时引起问题。示例:

    • .SQLInjection()
    • .ScriptInjection()显示XSS的脆弱性。
    • .iOSVulnerabilities() – 在各种版本的iOS中撞车的字符串。
    • .KnownCVEsandVulnerabilities() – 测试已知漏洞的字符串。
    • .ServerCodeInjection() – 可能导致用户作为特权用户在服务器上运行代码的字符串。
    • 还有更多!
  • Wafflegenerator。 @simoncropp的BogusNuGet Package ) – 华夫饼发电机生成的文本,乍一看,看起来像真实的,繁琐的,散文;充满陈词滥调。
  • nodatime。 BogusNuGet Package )由@simoncropp -bogus添加了对Bogus的支持。
  • countrydata。 BogusNuGet Package )由@simoncropp -Geonames数据包装。示例:
    • .Country().Name() – 随机国家名称。
    • .Country().CurrencyCode() – 随机货币代码。
    • .Australia().Capital() – 国家资本。
    • .Country().Iceland().PostCode() – 随机国家邮政编码。
  • 澳大利亚选择。 BogusNuGet Package )由@simoncropp-澳大利亚选举委员会(AEC)数据(https://www.***aec.gov.au/)包装。示例:

    • .AustralianElectorates().Electorate() – 随机选民。
    • .AustralianElectorates().Name() – 随机选民名称。
    • .AustralianElectorates().CurrentMember()
    • .AustralianElectorates().CurrentMemberName() – 当前的选民议员的随机名称。
    • .AustralianElectorates().Member() – 议会的随机选民成员。
    • .AustralianElectorates().MemberName() – 议会选民成员的随机名称。

Bogus Premium Extensions!

Bogus Premium [立即购买! ] @bchavez
您可以通过购买Bogus高级许可证来帮助支持Bogus开源项目!凭借有效的高级许可证,您将支持这个酷炫的开源项目。您还将获得新的超级大国,从而扩展了Bogus的新功能和独家数据集!在下面检查\’em!

  • 高级: Bogus .tools.analyzer (Nuget软件包) – 使用此方便的Roslyn Analyzer节省时间来生成和检测Development&Compile Time中缺少的.RuleFor()规则! Bogus Premium许可证包含此工具!
  • 高级: Bogus 。结合(Nuget软件包) – 包含用于地点和事物的真实地理信息的数据集。创建假的GPS点和路径。有助于为基于位置的知识应用程序创建地理数据。

    • Location
      • Altitude – 以米为单位产生一个随机高度。默认最大高度为8848m(珠穆朗

下载源码

通过命令行克隆项目:

git clone https://github.com/bchavez/Bogus.git

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 编程相关 Bogus https://www.zuozi.net/34261.html

config rs
上一篇: config rs
gomplate
下一篇: gomplate
常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务