Share via


Quickstart: Gegevens genereren voor testen en mocking

In deze handleiding leert u hoe u GitHub Copilot gebruikt om realistische en thematische datasets te maken ter ondersteuning van het ontwikkelen, testen en demonstreren van toepassingen. Door het schema en de context van uw database te analyseren, kan GitHub Copilot gesimuleerde mockgegevens genereren die zijn afgestemd op echte indelingen, edge-cases simuleren en de handmatige inspanning van seeding-databases verminderen, waardoor het testen sneller en beter representatief is voor werkelijke scenario's.

Aan de slag

Zorg ervoor dat u verbinding hebt met een database en een actief editorvenster hebt geopend met de MSSQL-extensie. Met deze verbinding kan de @mssql chatdeelnemer de context van uw databaseomgeving begrijpen en nauwkeurige en contextbewuste suggesties inschakelen. Zonder een databaseverbinding beschikt de chatdeelnemer niet over het schema of de gegevenscontext om zinvolle antwoorden te geven.

In de volgende voorbeelden wordt de AdventureWorksLT2022 voorbeelddatabase gebruikt, die u kunt downloaden van de startpagina van Microsoft SQL Server Samples en Community Projects .

Pas voor de beste resultaten de tabel- en schemanamen aan zodat deze overeenkomen met uw eigen omgeving.

Zorg ervoor dat de chat het @mssql voorvoegsel bevat. Typ bijvoorbeeld @mssql gevolgd door uw vraag of prompt. Dit zorgt ervoor dat de chatdeelnemer begrijpt dat u vraagt om hulp met betrekking tot SQL.

Realistische en testbare gegevens genereren met GitHub Copilot

GitHub Copilot kan helpen bij het genereren van test- en mockgegevens rechtstreeks vanuit uw SQL-schema of JSON-voorbeelden. GitHub Copilot biedt contextuele suggesties om tijd te besparen en de dekking te verbeteren, of u nu datasets voorbereidt voor demo's, edge-cases test of uw ontwikkelomgeving vult met thema- of gerandomiseerde gegevens. Deze suggesties zijn vooral handig in scenario's waarin handmatige gegevensinvoer traag of inconsistent zou zijn.

Hier volgen veelvoorkomende gebruiksvoorbeelden en voorbeelden van wat u kunt vragen via de chatdeelnemer.

Het genereren van gesimuleerde gegevens

Gebruik GitHub Copilot om gethematiseerde, gerandomiseerde of representatieve mockgegevens voor uw bestaande tabellen te genereren. U kunt specifieke rijaantallen aanvragen, naam-/waardepatronen toepassen of gegevenssets bouwen op basis van externe structuren zoals JSON-voorbeelden.

Voorbeeld van gesimuleerde klantgegevens

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

Voorbeeld van fictieve productgegevens

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

Voorbeeld van gesimuleerde verkoopgegevens

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

Gesimuleerde gegevens genereren uit JSON-voorbeeld

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" }
]

Randgevaltesten

Ga verder dan het genereren van basisgegevens met behulp van GitHub Copilot om edge-cases te simuleren en het gedrag van uw systeem te verifiëren. GitHub Copilot kan helpen bij het genereren van de juiste gegevens, ongeacht of u bedrijfslogica met stress test, controleert op fouten bij gegevensvalidatie of relationele consistentie. Het kan ook asserties of testlogica schrijven om resultaten te valideren.

Beperkingen voor testhoeveelheid

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.

Indeling van e-mailadres testen

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

Randgevallen bij prijsafwijkingen testen

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

Gegevensintegriteit testen met het gebruik van mocks

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.

Bedrijfslogica testen

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.

Null-validatie testen

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.

Negatieve waarden testen

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.

Uw ervaring delen

Om ons te helpen GitHub Copilot voor de MSSQL-extensie te verfijnen en te verbeteren, gebruikt u de volgende GitHub-probleemsjabloon om uw feedback te verzenden: GitHub Copilot-feedback

Overweeg het volgende bij het indienen van feedback:

  • Geteste scenario's : laat ons weten op welke gebieden u zich richt, bijvoorbeeld het maken van schema's, het genereren van query's, beveiliging, lokalisatie.

  • Wat goed werkte – Beschrijf ervaringen die soepel aanvoelden, behulpzaam waren of uw verwachtingen overtroffen.

  • Problemen of bugs : neem eventuele problemen, inconsistenties of verwarrend gedrag op. Screenshots of schermopnamen zijn vooral nuttig.

  • Suggesties voor verbetering : deel ideeën voor het verbeteren van bruikbaarheid, het uitbreiden van de dekking of het verbeteren van de reacties van GitHub Copilot.