C# tips and tricks 32 - Generating test data for Unit testing and UI testing using Faker.Net & Bogus

Поділитися
Вставка
  • Опубліковано 15 жов 2024
  • Why do we need fake data
    What is Faker.Net
    Faker.Net code demo
    What is Bogus
    Bogus code demo
    Why do we need fake data
    Test data for unit testing
    Test data for UI testing
    Sample data for design purposes
    Sample data for prototypes
    Database seeding
    What is Faker.Net
    Generates fake data or dummy data
    Generates more realistic data
    Generates data like name, phone number, email, internet domains and many more.
    Use the generated data for Proof of Concepts, Seeding the DB, Unit testing and UI Testing
    What is Bogus
    Generates sample data for classes
    Generates more realistic data
    Generates data like name, phone number, email, internet domains and many more.
    Use the generated data for Proof of Concepts, Seeding the DB, Unit testing and UI Testing
    Bogus generates data like
    Addresses: ZipCode, City, Country, Latitude, etc.
    Commerce: Department name, ProductName, ProductAdjective, Price, etc.
    Company: CompanyName, CatchPhrase, Bs, etc.
    Date: Past, Soon, Between, etc.
    Finance: Account number, TransactionType, Currency, CreditCardNumber, etc.
    Image URL: Random image, Animals image, Nature image, etc.
    Internet: Email, DomainName, Ipv6, Password, etc.
    Lorem: single word, Words, Sentence, Paragraphs, etc.
    Name: FirstName, LastName, etc.
    Rant: Random user review, etc.
    System: FileName, MimeType, FileExt, etc.
    Code :
    class Program
    {
    static void Main(string[] args)
    {
    Console.WriteLine(Name.First());
    Console.WriteLine(Address.City());
    Console.WriteLine("Buyers list");
    foreach (var buyer in GetBuyers())
    {
    Console.WriteLine(buyer.FirstName+"\t"+buyer.LastName);
    foreach (var vehicle in buyer.Vehicles)
    {
    Console.WriteLine($"\t{vehicle.Manufacturer.PadRight(15)}\t{vehicle.Model.PadRight(15)}\t{vehicle.Price}");
    }
    }
    }
    public static IEnumerable lessthanBuyer greaterthan GetBuyers()
    {
    Faker lessthan Vehicle greaterthan vehicleGenerator = new Faker lessthan Vehicle greaterthan ()
    .RuleFor(vehicle =greaterthan vehicle.Manufacturer, bogus =greaterthan bogus.Vehicle.Manufacturer())
    .RuleFor(vehicle =greaterthan vehicle.Model, bogus =greaterthan bogus.Vehicle.Model())
    .RuleFor(vehicle =greaterthan vehicle.Price, bogus =greaterthan bogus.Finance.Amount());
    Faker lessthan Buyer greaterthan buyerGenerator = new Faker lessthan Buyer greaterthan ()
    .RuleFor(buyer =greaterthan buyer.FirstName, bogus =greaterthan bogus.Name.FirstName())
    .RuleFor(buyer =greaterthan buyer.LastName, bogus =greaterthan bogus.Name.LastName())
    .RuleFor(buyer =greaterthan buyer.Vehicles, bogus =greaterthan vehicleGenerator.Generate(5));
    return buyerGenerator.Generate(4);
    }
    }
    class Buyer
    {
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public List lessthan Vehicle greaterthan Vehicles { get; set; }
    }
    class Vehicle
    {
    public string Manufacturer { get; set; }
    public string Model { get; set; }
    public decimal Price { get; set; }
    }

КОМЕНТАРІ • 8