Was ist Bogus und warum wird es benötigt?
Bogus ist eine leistungsstarke, einfache und schnelle Bibliothek zur Generierung von Fake-Testdaten in C# (.NET). Sie ist ein direkter Port der beliebten JavaScript-Bibliothek Faker.js. Das Hauptziel von Bogus ist es, Entwickler von der manuellen Erstellung von Boilerplate-Code für Testdatensätze zu befreien.
Warum ist das wichtig? Stellen Sie sich vor, Sie entwickeln eine Anwendung, die mit Benutzern, Bestellungen, Produkten oder anderen Entitäten arbeitet. Für das Testen der Funktionalität (Unit-Tests, Integrationstests, Lasttests) benötigen Sie ständig Daten: Namen, Adressen, E-Mails, Telefonnummern, Text, Zahlen, Daten usw. Das manuelle Erstellen von 1000 User-Objekten mit unterschiedlichen Daten ist mühsam, zeitaufwendig und fehleranfällig. Bogus löst dieses Problem mit einer einzigen Codezeile.
Die wichtigsten Vorteile von Bogus:
- Lokalisierung: Unterstützung für Dutzende von Sprachen und regionalen Formaten (de, en, fr, ru usw.).
- Flexibilität: Sie können Daten unter Berücksichtigung von Geschäftsregeln generieren (z. B. "Preis muss größer als 0 und kleiner als 1000 sein").
- Wiederholbarkeit: Durch die Verwendung eines Seeds erhalten Sie bei jedem Durchlauf identische Datensätze – entscheidend für reproduzierbare Tests.
- Leistung: Bogus ist optimiert, um Millionen von Datensätzen in Sekundenschnelle zu generieren.
- Typsicherheit: Arbeitet mit Ihren eigenen Klassen und Schnittstellen unter Verwendung der strengen Typisierung von C#.
Installation von Bogus
Bogus wird als NuGet-Paket vertrieben. Sie können es auf verschiedene Arten installieren:
1. Über die .NET CLI (empfohlen)
dotnet add package Bogus
2. Über die Package Manager Console (Visual Studio)
Install-Package Bogus
3. Über die NuGet-Paketverwaltungsoberfläche in Visual Studio
Öffnen Sie "NuGet-Pakete verwalten", suchen Sie nach "Bogus" und klicken Sie auf "Installieren".
Fügen Sie nach der Installation die using-Direktive in Ihren Code ein:
using Bogus;
Schnellstart: Erstes Beispiel
Lassen Sie uns eine einfache Sammlung von Person-Objekten mit deutschen Namen und Adressen generieren.
using Bogus;
// 1. Erstellen Sie die "Regeln" (Faker) für die Datengenerierung
// Geben Sie das Gebietsschema "de" für deutsche Daten an
var faker = new Faker("de");
// 2. Generieren Sie 10 fiktive Personen
for (int i = 0; i < 10; i++)
{
var person = new
{
Name = faker.Name.FullName(), // Vollständiger Name
Email = faker.Internet.Email(), // E-Mail
Phone = faker.Phone.PhoneNumber(), // Telefonnummer
City = faker.Address.City(), // Stadt
Age = faker.Random.Int(18, 80) // Alter zwischen 18 und 80
};
Console.WriteLine($"{person.Name}, {person.Age} Jahre, {person.City}, {person.Email}, {person.Phone}");
}
// Beispielausgabe (ändert sich bei jedem Durchlauf):
// Max Mustermann, 34 Jahre, Berlin, max.mustermann@example.com, +49 30 12345678
// Anna Schmidt, 27 Jahre, München, anna.schmidt@test.de, +49 89 98765432
// ...
Wie funktioniert das? new Faker("de") erstellt das Hauptgeneratorobjekt. Seine Eigenschaften Name, Internet, Phone, Address, Random sind integrierte "Kategorien" (APIs), die jeweils Dutzende von Methoden zur Generierung spezifischer Daten enthalten.
Wichtige Methoden und Funktionen von Bogus
Bogus bietet eine Vielzahl von Methoden. Nachfolgend sind 10+ der am häufigsten verwendeten Kategorien und ihre wichtigsten Methoden mit detaillierten Beispielen aufgeführt.
1. Name – Namensgenerierung
Funktion: Generiert Vornamen, Nachnamen, vollständige Namen, Präfixe und Suffixe (für die deutsche Lokalisierung).
Parameter: Die meisten Methoden benötigen keine Parameter, es gibt jedoch Überladungen
Auch in der Bibliothek
Arbeiten mit Bildern in Swift: resize und crop für iOS/macOS
Aufgabenwarteschlangen in Node.js: Bull, Bee-Queue, Kue und Implementierung auf Redis
C++ Aufgabenplaner: Erstellung und Verwaltung von Aufgaben
TypeScript-Aufgabenplaner: Vollständiger Leitfaden zu Cron-Bibliotheken und Timern
GraphQL in Swift: Vollständiger Leitfaden zur Apollo iOS Bibliothek