Skip to main content

Gerando testes de unidade

O Copilot Chat pode ajudar a gerar testes de unidade para uma função.

Um bom conjunto de testes de unidade é fundamental para o sucesso de qualquer projeto. No entanto, escrever esses testes pode ser demorado e muitas vezes é algo negligenciado. O Copilot Chat pode ajudar a gerar esses testes para você.

Cenário de exemplo

Imagine que você tenha uma função Python que valide os dados antes de atualizar o banco de dados. Você precisa criar testes de unidade para garantir que a validação seja executada da maneira esperada. Você pode solicitar que o Copilot Chat crie esses testes para você.

def validate_price(price: float):
  if price <= 0:
    raise ValueError("Price must be greater than 0")
  if price > 1000:
    raise ValueError("Price must be less than or equal to 1000")

Solicitação de exemplo

/tests Generate unit tests for this function. Validate both success and failure, and include edge cases.

Exemplo de resposta

Observação

A resposta a seguir é um exemplo. Respostas do Copilot Chat são não determinísticas, portanto, você pode obter uma resposta diferente da mostrada aqui.

Se esta for sua primeira vez solicitando que o Copilot Chat gere testes de unidade, ele poderá perguntar se você deseja configurar testes de unidade para seu projeto. Para este exemplo, estamos supondo que você recuse essa oferta.

O Copilot fornecerá uma estratégia para gerar os testes e, em seguida, fornecerá os próprios testes.

import unittest
from generate_unit_tests import validate_price

class TestValidateProduct(unittest.TestCase):
  def test_price_zero(self):
    with self.assertRaises(ValueError) as context:
      validate_price(0)
    self.assertEqual(str(context.exception), "Price must be greater than 0")

  def test_price_negative(self):
    with self.assertRaises(ValueError) as context:
      validate_price(-10)
    self.assertEqual(str(context.exception), "Price must be greater than 0")

  def test_price_above_limit(self):
    with self.assertRaises(ValueError) as context:
      validate_price(1500)
    self.assertEqual(str(context.exception), "Price must be less than or equal to 1000")

  def test_price_edge_case_zero(self):
    with self.assertRaises(ValueError) as context:
      validate_price(0)
    self.assertEqual(str(context.exception), "Price must be greater than 0")

  def test_price_edge_case_max(self):
    try:
      validate_price(1000)
    except ValueError:
      self.fail("validate_price() raised ValueError unexpectedly!")

if __name__ == '__main__':
  unittest.main()

Leitura adicional

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy