Pular para o conteúdo
Skillpedia
Testes40 mil · #5097

csharp-nunit

Ajuda seu agente a escrever testes unitários eficientes em C# usando NUnit. Ele ensina as melhores práticas, incluindo como criar testes que usam dados variados.

O que ela faz

Esta ferramenta ajuda você a escrever testes eficientes para seu código usando NUnit. Ela ensina as melhores práticas para testes normais e testes com dados variados.

Quando usar

  • ✓Quando você quer garantir que seu código funciona corretamente.
  • ✓Ao criar testes que precisam de muitos dados diferentes.
  • ✓Para organizar e padronizar seus testes.

Exemplo do que pedir para a IA

“Como posso escrever um teste para a função de soma que verifica se 2 + 2 = 4?”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/github/awesome-copilot/blob/main/skills/csharp-nunit/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/github/awesome-copilot/blob/main/skills/csharp-nunit/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta sugere como organizar seus arquivos de teste, nomear seus testes de forma clara e usar atributos especiais para configurar e executar os testes.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add github/awesome-copilot --skill csharp-nunit

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/csharp-nunit/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Melhores Práticas do NUnit

Seu objetivo é me ajudar a escrever testes unitários eficazes com NUnit, cobrindo abordagens de teste padrão e baseadas em dados.

Configuração do Projeto

  • Use um projeto de teste separado com a convenção de nomenclatura [ProjectName].Tests
  • Referencie os pacotes Microsoft.NET.Test.Sdk, NUnit e NUnit3TestAdapter
  • Crie classes de teste que correspondam às classes que estão sendo testadas (por exemplo, CalculatorTests para Calculator)
  • Use comandos de teste do SDK do .NET: dotnet test para executar testes

Estrutura de Teste

  • Aplique o atributo [TestFixture] às classes de teste
  • Use o atributo [Test] para métodos de teste
  • Siga o padrão Arrange-Act-Assert (AAA)
  • Nomeie testes usando o padrão MethodName_Scenario_ExpectedBehavior
  • Use [SetUp] e [TearDown] para configuração e limpeza por teste
  • Use [OneTimeSetUp] e [OneTimeTearDown] para configuração e limpeza por classe
  • Use [SetUpFixture] para configuração e limpeza em nível de assembly

Testes Padrão

  • Mantenha os testes focados em um único comportamento
  • Evite testar vários comportamentos em um único método de teste
  • Use asserções claras que expressem a intenção
  • Inclua apenas as asserções necessárias para verificar o caso de teste
  • Torne os testes independentes e idempotentes (podem ser executados em qualquer ordem)
  • Evite interdependências de teste

Testes Baseados em Dados

  • Use [TestCase] para dados de teste inline
  • Use [TestCaseSource] para dados de teste gerados programaticamente
  • Use [Values] para combinações simples de parâmetros
  • Use [ValueSource] para fontes de dados baseadas em propriedades ou métodos
  • Use [Random] para valores de teste numéricos aleatórios
  • Use [Range] para valores de teste numéricos sequenciais
  • Use [Combinatorial] ou [Pairwise] para combinar múltiplos parâmetros

Asserções

  • Use Assert.That com o modelo de restrição (estilo NUnit preferido)
  • Use restrições como Is.EqualTo, Is.SameAs, Contains.Item
  • Use Assert.AreEqual para igualdade de valor simples (estilo clássico)
  • Use CollectionAssert para comparações de coleções
  • Use StringAssert para asserções específicas de string
  • Use Assert.Throws<T> ou Assert.ThrowsAsync<T> para testar exceções
  • Use mensagens descritivas nas asserções para clareza em caso de falha

Mocking e Isolamento

  • Considere usar Moq ou NSubstitute junto com NUnit
  • Faça mock de dependências para isolar unidades sob teste
  • Use interfaces para facilitar o mocking
  • Considere usar um contêiner de DI para configurações de teste complexas

Organização de Testes

  • Agrupe testes por funcionalidade ou componente
  • Use categorias com [Category("CategoryName")]
  • Use [Order] para controlar a ordem de execução dos testes quando necessário
  • Use [Author("DeveloperName")] para indicar propriedade
  • Use [Description] para fornecer informações adicionais de teste
  • Considere [Explicit] para testes que não devem ser executados automaticamente
  • Use [Ignore("Reason")] para pular testes temporariamente
Perguntas frequentes

O que são testes unitários?

São pequenos testes que verificam se uma parte específica do seu código (uma função ou método) funciona como esperado.

O que é NUnit?

É uma biblioteca popular para escrever testes em C#.

O que são testes 'data-driven'?

São testes que rodam várias vezes com conjuntos de dados diferentes, sem precisar escrever o mesmo teste várias vezes.

Detalhes

Descrição original do autor

Get best practices for NUnit unit testing, including data-driven tests

repo: github/awesome-copilot

Popularidade

Estrelas no GitHub
40 mil
Posição no ranking
#5097
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas