Freigeben über


Schnellstart: Generieren von Daten zum Testen und Mocken

In dieser Schnellstartanleitung erfahren Sie, wie Sie GitHub Copilot verwenden, um realistische und designierte Datasets zu erstellen, um Anwendungsentwicklung, Tests und Demos zu unterstützen. Durch die Analyse des Schemas und des Kontexts Ihrer Datenbank kann GitHub Copilot Mock-Daten generieren, die mit realen Formaten ausgerichtet sind, Edge Cases simulieren und den manuellen Aufwand für das Einfügen von Daten in Datenbanken reduzieren, wodurch Tests schneller und repräsentativer für tatsächliche Szenarien werden.

Loslegen

Stellen Sie sicher, dass Sie mit einer Datenbank verbunden sind und ein aktives Editorfenster mit der MSSQL-Erweiterung geöffnet ist. Diese Verbindung ermöglicht es dem @mssql Chatteilnehmer, den Kontext Ihrer Datenbankumgebung zu verstehen und präzise und kontextbezogene Vorschläge zu ermöglichen. Ohne Datenbankverbindung verfügt der Chatteilnehmer nicht über das Schema oder den Datenkontext, um aussagekräftige Antworten bereitzustellen.

In den folgenden Beispielen wird die AdventureWorksLT2022 Beispieldatenbank verwendet, die Sie auf der Startseite von Microsoft SQL Server-Beispielen und Communityprojekten herunterladen können.

Um optimale Ergebnisse zu erzielen, passen Sie Tabellen- und Schemanamen an Ihre eigene Umgebung an.

Stellen Sie sicher, dass der Chat das @mssql Präfix enthält. Geben Sie @mssql z. B. gefolgt von Ihrer Frage oder Aufforderung ein. Dadurch wird sichergestellt, dass der Chatteilnehmer versteht, dass Sie sql-bezogene Unterstützung anfordern.

Generieren realistischer und testbarer Daten mit GitHub Copilot

GitHub Copilot kann das Generieren von Test- und Pseudodaten direkt aus Ihrem SQL-Schema oder JSON-Beispiel unterstützen. GitHub Copilot bietet kontextbezogene Vorschläge, um Zeit zu sparen und die Abdeckung zu verbessern, unabhängig davon, ob Sie Datensätze für Demos vorbereiten, Randfälle testen oder Ihre Entwicklungsumgebung mit thematisierten oder zufälligen Daten befüllen. Diese Vorschläge sind besonders nützlich in Szenarien, in denen die manuelle Dateneingabe langsam oder inkonsistent wäre.

Hier finden Sie häufige Anwendungsfälle und Beispiele dafür, was Sie über den Chatteilnehmer fragen können.

Simulierte Datengenerierung

Verwenden Sie GitHub Copilot, um designierte, zufällige oder repräsentative Modelldaten für Ihre vorhandenen Tabellen zu generieren. Sie können bestimmte Zeilenanzahlen anfordern, Namens-/Wertmuster anwenden oder Datasets basierend auf externen Strukturen wie JSON-Beispielen erstellen.

Beispiel für simulierte Kundendaten

Generate mock data for the `SalesLT.Customer` table with 100 sample records.

Beispiel für simulierte Produktdaten

Populate the `SalesLT.Product` table with 50 items, each with unique names and prices.

Beispiel für simulierte Verkaufsdaten

Generate mock data for the `SalesLT.SalesOrderHeader` table with 200 records, including order dates and customer IDs.

Generieren von simulierten Daten aus JSON-Muster

Based on this sample JSON with four records, generate a SQL table schema and populate it with 50 mock records. Use character names from well-known sci-fi books (for example, Dune, Foundation, Ready Player One) for the `firstName` and `lastName` fields to make the data more realistic and themed:

[
  { "firstName": "Alice", "lastName": "Smith", "email": "alice@example.com" },
  { "firstName": "Bob", "lastName": "Jones", "email": "bob@example.com" },
  { "firstName": "Charlie", "lastName": "Brown", "email": "charlie@example.com" },
  { "firstName": "Dana", "lastName": "White", "email": "dana@example.com" }
]

Randfalltests

Gehen Sie über die grundlegende Datengenerierung hinaus, indem Sie GitHub Copilot verwenden, um Edgefälle zu simulieren und das Verhalten Ihres Systems zu überprüfen. GitHub Copilot kann dabei helfen, die richtigen Daten zu generieren, ganz gleich, ob Sie Geschäftslogik stresstesten, auf Datenüberprüfungsfehler überprüfen oder relationale Konsistenz sicherstellen. Sie kann auch Assertionen schreiben oder Logik testen, um Ergebnisse zu überprüfen.

Testen von Mengenbeschränkungen

Generate insert statements for `SalesLT.SalesOrderDetail` with `OrderQty` values at the upper boundary (for example, 1,000 units) and verify that the system enforces quantity constraints.

E-Mail-Adressformat testen

Create test data for `SalesLT.Customer` with invalid email formats and write a query that flags these records for review.

Test von Randfall-Preisanomalien

Generate test data for `SalesLT.Product` with edge-case pricing, such as `StandardCost = 0` or negative values, and write a query that highlights anomalies.

Testen der Datenintegrität mit Mocking

Simulate data integrity by generating 500 `SalesOrderDetail` rows that correctly reference valid `ProductID` and `SalesOrderID` values from related tables, and ensure GitHub Copilot includes validation logic.

Testen der Geschäftslogik

Write a test script that confirms the `SalesOrderHeader.TotalDue` value is always greater than the `SubTotal` for each order, helpful for spotting miscalculations in business logic.

Testen der Nullüberprüfung

Using SQLAlchemy, create a test that attempts to insert a `SalesOrderDetail` record with a null `ProductID` and verify that the ORM raises an integrity error due to the foreign key constraint.

Testen negativer Werte

With Prisma, generate test logic that tries to insert a `Product` with a `StandardCost` of `-10`. Validate that Prisma rejects the entry and logs an appropriate error message.

Teilen von Erfahrungen

Um uns dabei zu helfen, GitHub Copilot für die MSSQL-Erweiterung zu verfeinern und zu verbessern, verwenden Sie die folgende GitHub-Problemvorlage, um Ihr Feedback zu übermitteln: GitHub Copilot Feedback

Berücksichtigen Sie bei der Übermittlung von Feedback Folgendes:

  • Getestete Szenarien – Teilen Sie uns mit, auf welche Bereiche Sie sich konzentrieren, z. B. Schemaerstellung, Abfragegenerierung, Sicherheit, Lokalisierung.

  • Was gut funktioniert hat – Beschreiben Sie alle Erfahrungen, die sich reibungslos, hilfreich fühlen oder Ihre Erwartungen überschritten haben.

  • Probleme oder Fehler – Schließen Sie alle Probleme, Inkonsistenzen oder verwirrende Verhaltensweisen ein. Screenshots oder Bildschirmaufzeichnungen sind besonders hilfreich.

  • Verbesserungsvorschläge – Teilen Sie Ideen zur Verbesserung der Benutzerfreundlichkeit, zur Erweiterung der Abdeckung oder zur Verbesserung der Antworten von GitHub Copilot.