福建漳州东山规划建设局网站,自己的店铺如何弄小程序,以下什么是常用的可视化网页制作工具,广州响应式网站开发首先声明#xff0c;Bogus是一个Nuget包的名称#xff0c;Faker是它内部的一个类#xff0c;这个库的作用就是模拟生成实体类的数据#xff0c;特别适合测试时的场景#xff0c;不用苦思冥想#xff0c;辛辛苦苦来造不同的实体类了。当然#xff0c;造出来的都是虚假的(… 首先声明Bogus是一个Nuget包的名称Faker是它内部的一个类这个库的作用就是模拟生成实体类的数据特别适合测试时的场景不用苦思冥想辛辛苦苦来造不同的实体类了。当然造出来的都是虚假的(Bogus)骗人的(Faker)。它家在这里https://github.com/bchavez/Bogus假如我有个会员类 enum Sex{男,女}class Memmber{public Guid ID { get; set; }public long NO { get; set; }public string Name { get; set; }public Sex Sex { get; set; }public int Age { get; set; }public string Email { get; set; }public string Phone { get; set; }public decimal Balance { get; set; }public DateTime CreateOn { get; set; }}
这个类在测试时要手动实例化穿梭于各个层和方法中间现在把构建这个类的对象(实例)交给Bogus。首先引入Bogus包Install-Package Bogus接下来就可以告诉Faker怎么来“骗人”了var options new JsonSerializerOptions();
options.Encoder System.Text.Encodings.Web.JavaScriptEncoder.Create(UnicodeRanges.All);
while (true)
{var personFaker new FakerMemmber().RuleFor(x x.ID, x x.Random.Guid()).RuleFor(xx.NO,xx.Random.Long(100000000000,999999999999)).RuleFor(x x.Name, x x.Person.LastName x.Person.FirstName).RuleFor(x x.Sex, x x.Random.EnumSex()).RuleFor(x x.Email, x x.Person.Email).RuleFor(x x.Phone, x x.Person.Phone).RuleFor(x x.Age, x x.Random.Int(0, 120)).RuleFor(xx.Balance,xx.Finance.Amount(0,1000)) .RuleFor(x x.CreateOn, x x.Date.Past(1));Console.WriteLine(JsonSerializer.Serialize(personFaker.Generate(), options));Console.ReadLine();
}
看一下效果{ID:5f3d97f6-52da-7fb6-e73f-153fd3a41bfb,NO:539140308276,Name:KoeppErick,Sex:0,Age:48,Email:Erick.Koepphotmail.com,Phone:(899) 392-6546,Balance:45.34,CreateOn:2021-02-14T13:32:19.89206209:00
}
看来Faker是通过RuleFor来给每个属性来模拟那种格式的数据的比如RuleFor(x x.Email, x x.Person.Email)告诉Faker这是一个Email格式记得骗人的时候给人家一个email格式的数据内容随便你那问题来了是不是有一大组格式呢当然这也是这个库的作用都有哪些Bogus API SupportAddressZipCode - Get a zipcode.City - Get a city name.StreetAddress - Get a street address.CityPrefix - Get a city prefix.CitySuffix - Get a city suffix.StreetName - Get a street name.BuildingNumber - Get a building number.StreetSuffix - Get a street suffix.SecondaryAddress - Get a secondary address like Apt. 2 or Suite 321.County - Get a county.Country - Get a country.FullAddress - Get a full address like Street, City, Country.CountryCode - Get a random ISO 3166-1 country code.State - Get a random state state.StateAbbr - Get a state abbreviation.Latitude - Get a Latitude.Longitude - Get a Longitude.Direction - Generates a cardinal or ordinal direction. IE: Northwest, South, SW, E.CardinalDirection - Generates a cardinal direction. IE: North, South, E, W.OrdinalDirection - Generates an ordinal direction. IE: Northwest, Southeast, SW, NE.CommerceDepartment - Get a random commerce department.Price - Get a random product price.Categories - Get random product categories.ProductName - Get a random product name.Color - Get a random color.Product - Get a random product.ProductAdjective - Random product adjective.ProductMaterial - Random product material.Ean8 - Get a random EAN-8 barcode number.Ean13 - Get a random EAN-13 barcode number.CompanyCompanySuffix - Get a company suffix. Inc and LLC etc.CompanyName - Get a company name.CatchPhrase - Get a company catch phrase.Bs - Get a company BS phrase.DatabaseColumn - Generates a column name.Type - Generates a column type.Collation - Generates a collation.Engine - Generates a storage engine.DatePast - Get a DateTime in the past between refDate and yearsToGoBack.PastOffset - Get a DateTimeOffset in the past between refDate and yearsToGoBack.Soon - Get a DateTime that will happen soon.SoonOffset - Get a DateTimeOffset that will happen soon.Future - Get a DateTime in the future between refDate and yearsToGoForward.FutureOffset - Get a DateTimeOffset in the future between refDate and yearsToGoForward.Between - Get a random DateTime between start and end.BetweenOffset - Get a random DateTimeOffset between start and end.Recent - Get a random DateTime within the last few days.RecentOffset - Get a random DateTimeOffset within the last few days.Timespan - Get a random TimeSpan.Month - Get a random monthWeekday - Get a random weekdayFinanceAccount - Get an account number. Default length is 8 digits.AccountName - Get an account name. Like savings, checking, Home Loan etc..Amount - Get a random amount. Default 0 - 1000.TransactionType - Get a transaction type: deposit, withdrawal, payment, or invoice.Currency - Get a random currency.CreditCardNumber - Generate a random credit card number with valid Luhn checksum.CreditCardCvv - Generate a credit card CVVBitcoinAddress - Generates a random Bitcoin address.EthereumAddress - Generate a random Ethereum address.RoutingNumber - Generates an ABA routing number with valid check digit.Bic - Generates Bank Identifier Code (BIC) code.Iban - Generates an International Bank Account Number (IBAN).HackerAbbreviation - Returns an abbreviation.Adjective - Returns a adjective.Noun - Returns a noun.Verb - Returns a verb.IngVerb - Returns a verb ending with -ing.Phrase - Returns a phrase.ImagesAbstract - Gets an abstract looking image.Animals - Gets an image of an animal.Business - Gets a business looking image.Cats - Gets a picture of a cat.City - Gets a city looking image.Food - Gets an image of food.Nightlife - Gets an image with city looking nightlife.Fashion - Gets an image in the fashion category.People - Gets an image of humans.Nature - Gets an image of nature.Sports - Gets an image related to sports.Technics - Get a technology related image.Transport - Get a transportation related image.DataUri - Get a SVG data URI image with a specific width and height.PicsumUrl - Get an image from the https://picsum.photos service.PlaceholderUrl - Get an image from https://placeholder.com service.LoremFlickrUrl - Get an image from https://loremflickr.com service.LoremPixelUrl - Creates an image URL with http://lorempixel.com. Note: This service is slow. Consider using PicsumUrl() as a faster alternative.InternetAvatar - Generates a legit Internet URL avatar from twitter accounts.Email - Generates an email address.ExampleEmail - Generates an example email with example.com.UserName - Generates user names.UserNameUnicode - Generates a user name preserving Unicode characters.DomainName - Generates a random domain name.DomainWord - Generates a domain word used for domain names.DomainSuffix - Generates a domain name suffix like .com, .net, .orgIp - Gets a random IPv4 address string.Port - Generates a random port number.IpAddress - Gets a random IPv4 IPAddress type.IpEndPoint - Gets a random IPv4 IPEndPoint.Ipv6 - Generates a random IPv6 address string.Ipv6Address - Generate a random IPv6 IPAddress type.Ipv6EndPoint - Gets a random IPv6 IPEndPoint.UserAgent - Generates a random user agent.Mac - Gets a random mac address.Password - Generates a random password.Color - Gets a random aesthetically pleasing color near the base RGB. See here.Protocol - Returns a random protocol. HTTP or HTTPS.Url - Generates a random URL.UrlWithPath - Get an absolute URL with random path.UrlRootedPath - Get a rooted URL path like: /foo/bar. Optionally with file extension.LoremWord - Get a random lorem word.Words - Get an array of random lorem words.Letter - Get a character letter.Sentence - Get a random sentence of specific number of words.Sentences - Get some sentences.Paragraph - Get a paragraph.Paragraphs - Get a specified number of paragraphs.Text - Get random text on a random lorem methods.Lines - Get lines of lorem.Slug - Slugify lorem words.NameFirstName - Get a first name. Getting a gender specific name is only supported on locales that support it.LastName - Get a last name. Getting a gender specific name is only supported on locales that support it.FullName - Get a full name, concatenation of calling FirstName and LastName.Prefix - Gets a random prefix for a name.Suffix - Gets a random suffix for a name.FindName - Gets a full name.JobTitle - Gets a random job title.JobDescriptor - Get a job description.JobArea - Get a job area expertise.JobType - Get a type of job.PhonePhoneNumber - Get a phone number.PhoneNumberFormat - Gets a phone number based on the locales phone_number.formats[] array index.RantReview - Generates a random user review.Reviews - Generate an array of random reviews.SystemFileName - Get a random file name.DirectoryPath - Get a random directory path (Unix).FilePath - Get a random file path (Unix).CommonFileName - Generates a random file name with a common file extension.MimeType - Get a random mime typeCommonFileType - Returns a commonly used file type.CommonFileExt - Returns a commonly used file extension.FileType - Returns any file type available as mime-type.FileExt - Gets a random extension for the given mime type.Semver - Get a random semver version string.Version - Get a random Version.Exception - Get a random Exception with a fake stack trace.AndroidId - Get a random GCM registration ID.ApplePushToken - Get a random Apple Push TokenBlackBerryPin - Get a random BlackBerry Device PINVehicleVin - Generate a vehicle identification number (VIN).Manufacturer - Get a vehicle manufacture name. IE: Toyota, Ford, Porsche.Model - Get a vehicle model. IE: Camry, Civic, Accord.Type - Get a vehicle type. IE: Minivan, SUV, Sedan.Fuel - Get a vehicle fuel type. IE: Electric, Gasoline, Diesel.Random/RandomizerNumber - Get an int from 0 to max.Digits - Get a random sequence of digits.Even - Returns a random even number.Odd - Returns a random odd number.Double - Get a random double, between 0.0 and 1.0.Decimal - Get a random decimal, between 0.0 and 1.0.Float - Get a random float, between 0.0 and 1.0.Byte - Generate a random byte between 0 and 255.Bytes - Get a random sequence of bytes.SByte - Generate a random sbyte between -128 and 127.Int - Generate a random int between MinValue and MaxValue.UInt - Generate a random uint between MinValue and MaxValue.ULong - Generate a random ulong between -128 and 127.Long - Generate a random long between MinValue and MaxValue.Short - Generate a random short between MinValue and MaxValue.UShort - Generate a random ushort between MinValue and MaxValue.Char - Generate a random char between MinValue and MaxValue.Chars - Generate a random chars between MinValue and MaxValue.String - Get a string of characters of a specific length.String2 - Get a string of characters with a specific length drawing characters from chars.Hash - Return a random hex hash. Default 40 characters, aka SHA-1.Bool - Get a random boolean.ArrayElementT - Get a random array element.ArrayElement - Get a random array element.ArrayElementsT - Get a random subset of an array.ListItemT - Get a random list item.ListItemsT - Get a random subset of a List.CollectionItemT - Get a random collection item.ReplaceNumbers - Replaces symbols with numbers.ReplaceSymbols - Replaces each character instance in a string.Replace - Replaces symbols with numbers and letters. # number, ? letter, * number or letter.ClampString - Clamps the length of a string between min and max characters.EnumT - Picks a random Enum of T. Works only with Enums.ShuffleT - Shuffles an IEnumerable source.Word - Returns a single word or phrase in English.Words - Gets some random words and phrases in English.WordsArray - Get a range of words in an array (English).Guid - Get a random GUID.Uuid - Get a random GUID. Alias for Randomizer.Guid().RandomLocale - Returns a random locale.AlphaNumeric - Returns a random set of alpha numeric characters 0-9, a-z.Hexadecimal - Generates a random hexadecimal string.WeightedRandomT - Returns a selection of T[] based on a weighted distribution of probability.是不是挺丰富的一般场景应该够用了如果有特殊数据模拟也只能自已动手了。对我是一个祖国的程序员Member类生成的实例是外国的这不行换一下 var options new JsonSerializerOptions();options.Encoder System.Text.Encodings.Web.JavaScriptEncoder.Create(UnicodeRanges.All);while (true){var personFaker new FakerMemmber(zh_CN).RuleFor(x x.ID, x x.Random.Guid()).RuleFor(xx.NO,xx.Random.Long(100000000000,999999999999)).RuleFor(x x.Name, x x.Person.LastName x.Person.FirstName).RuleFor(x x.Sex, x x.Random.EnumSex()).RuleFor(x x.Email, x x.Person.Email).RuleFor(x x.Phone, x x.Person.Phone).RuleFor(x x.Age, x x.Random.Int(0, 120)).RuleFor(xx.Balance,xx.Finance.Amount(0,1000)) .RuleFor(x x.CreateOn, x x.Date.Past(1));Console.WriteLine(JsonSerializer.Serialize(personFaker.Generate(), options));Console.ReadLine();}
只需要在new FakerT时告这个骗子是要骗祖国的程序就可以了看结果吧{ID:219d56ca-ea21-3a02-84b5-d9950ae8f384,NO:362783628351,Name:徐思远,Sex:0,Age:100,Email:40gmail.com,Phone:024-65735687,Balance:623.22,CreateOn:2021-01-19T19:38:30.150423109:00
}
其中的名字还真像个真人名电话号也换成祖国的了。那还支持其他国家吗当然Locale CodeLanguageLocale CodeLanguageaf_ZAAfrikaansfr_CHFrench (Switzerland)arArabicgeGeorgianazAzerbaijanihrHrvatskiczCzechid_IDIndonesiadeGermanitItaliande_ATGerman (Austria)jaJapanesede_CHGerman (Switzerland)koKoreanelGreeklvLatvianenEnglishnb_NONorwegianen_AUEnglish (Australia)neNepaleseen_AU_ockerEnglish (Australia Ocker)nlDutchen_BORKEnglish (Bork)nl_BEDutch (Belgium)en_CAEnglish (Canada)plPolishen_GBEnglish (Great Britain)pt_BRPortuguese (Brazil)en_IEEnglish (Ireland)pt_PTPortuguese (Portugal)en_INDEnglish (India)roRomanianen_NGNigeria (English)ruRussianen_USEnglish (United States)skSlovakianen_ZAEnglish (South Africa)svSwedishesSpanishtrTurkishes_MXSpanish (Mexico)ukUkrainianfaFarsiviVietnamesefiFinnishzh_CNChinesefrFrenchzh_TWChinese (Taiwan)fr_CAFrench (Canada)zu_ZAZulu (South Africa)其实还有Bogus有很多其他功能大家可以自行探索。