Partilhar via


Início Rápido: Gerar dados para testes e mocking

Neste guia de início rápido, você aprenderá a usar o GitHub Copilot para criar conjuntos de dados realistas e temáticos para dar suporte ao desenvolvimento, testes e demonstrações de aplicativos. Ao analisar o esquema e o contexto do seu banco de dados, o GitHub Copilot pode gerar dados fictícios alinhados com formatos do mundo real, simular casos de borda e reduzir o esforço manual de propagação de bancos de dados, tornando os testes mais rápidos e representativos dos cenários reais.

Introdução

Verifique se você está conectado a um banco de dados e se uma janela do editor ativo está aberta com a extensão MSSQL. Essa conexão permite que o participante do bate-papo @mssql compreenda o contexto do seu ambiente de banco de dados, permitindo sugestões precisas e sensíveis ao contexto. Sem uma conexão de banco de dados, o participante do bate-papo não terá o esquema ou o contexto de dados para fornecer respostas significativas.

Os exemplos a seguir usam o AdventureWorksLT2022 banco de dados de exemplo, que você pode baixar da home page de Exemplos e Projetos da Comunidade do Microsoft SQL Server .

Para obter melhores resultados, ajuste os nomes de tabelas e esquemas para corresponder ao seu próprio ambiente.

Certifique-se de que o chat inclui o prefixo @mssql . Por exemplo, digite @mssql seguido de a sua pergunta ou solicitação. Isso garante que o participante do bate-papo entenda que você está solicitando assistência relacionada ao SQL.

Gere dados realistas e testáveis com o GitHub Copilot

O GitHub Copilot pode ajudar a gerar dados de teste e simulação diretamente de seu esquema SQL ou exemplos JSON. O GitHub Copilot oferece sugestões contextuais para ajudar a reduzir o tempo e melhorar a cobertura, quer esteja a preparar conjuntos de dados para demonstrações, a testar casos limite, ou a semear o seu ambiente de desenvolvimento com dados temáticos ou aleatórios. Estas sugestões são especialmente úteis em cenários onde a introdução manual de dados seria lenta ou inconsistente.

Aqui estão casos de uso comuns e exemplos do que você pode perguntar através do participante do bate-papo.

Geração de dados simulados

Use o GitHub Copilot para gerar dados simulados temáticos, aleatórios ou representativos para suas tabelas existentes. Você pode solicitar contagens de linhas específicas, aplicar padrões de nome/valor ou criar conjuntos de dados com base em estruturas externas, como exemplos JSON.

Dados de clientes simulados

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

Exemplo de dados de produto simulados

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

Exemplo de dados de vendas simulados

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

Gerar dados simulados a partir de uma amostra JSON

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

Testes de casos extremos.

Vá além da geração básica de dados usando o GitHub Copilot para simular casos de borda e verificar o comportamento do seu sistema. O GitHub Copilot pode ajudar a gerar os dados certos, quer esteja a testar a lógica de negócio, a verificar falhas de validação de dados ou a garantir a consistência relacional. Também pode escrever asserções ou lógica de teste para validar resultados.

Restrições de quantidade de teste

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.

Formato do endereço de email de teste

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

Anomalias de precificação em casos limite de teste

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

Teste a integridade dos dados com 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.

Testar lógica de negócio

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.

Teste de validação nula

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.

Testar valores negativos

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.

Partilhar a sua experiência

Para nos ajudar a refinar e melhorar o Copilot do GitHub para a extensão MSSQL, use o seguinte modelo de problema do GitHub para enviar seus comentários: Feedback do Copiloto do GitHub

Ao enviar comentários, considere incluir:

  • Cenários testados – Diga-nos em quais áreas você se focou, por exemplo, criação de esquema, geração de consultas, segurança, localização.

  • O que funcionou bem – Descreva todas as experiências que foram suaves, úteis ou que excederam as suas expectativas.

  • Problemas ou bugs – Inclua quaisquer problemas, inconsistências ou comportamentos confusos. Capturas de tela ou gravações de tela são especialmente úteis.

  • Sugestões de melhoria – Compartilhe ideias para melhorar a usabilidade, expandir a cobertura ou melhorar as respostas do Copiloto do GitHub.