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
Mensagem pronta para colar
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-nunitOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/csharp-nunit/SKILL.md -o SKILL.mdConteú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,
CalculatorTestsparaCalculator) - Use comandos de teste do SDK do .NET:
dotnet testpara 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.Thatcom o modelo de restrição (estilo NUnit preferido) - Use restrições como
Is.EqualTo,Is.SameAs,Contains.Item - Use
Assert.AreEqualpara igualdade de valor simples (estilo clássico) - Use
CollectionAssertpara comparações de coleções - Use
StringAssertpara asserções específicas de string - Use
Assert.Throws<T>ouAssert.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
Comentários
- …
Mais skills deste repositório
acquire-codebase-knowledge
Ajuda seu agente a entender e documentar um projeto de código existente. É útil para novas pessoas entrarem no projeto ou para ter uma visão geral da arquitetura.
github/awesome-copilot
acreadiness-assess
Faz seu agente avaliar a prontidão de um projeto para IA e gerar um relatório. É útil para entender o quão bem um projeto está preparado para usar ferramentas de IA.
github/awesome-copilot
acreadiness-generate-instructions
Ajuda seu agente a criar instruções para ferramentas de IA baseadas em uma avaliação. É útil para melhorar a forma como a IA interage com o código e fecha lacunas identificadas.
github/awesome-copilot
acreadiness-policy
Faz seu agente ajudar a definir ou aplicar políticas para avaliação de projetos de IA. É útil para padronizar a forma como os projetos são avaliados e garantir conformidade.
github/awesome-copilot
Skills parecidas
cpp-testing
Faz seu agente escrever e melhorar testes para código C++. Ajuda a configurar ferramentas de teste e a corrigir erros.
affaan-m/ECC
csharp-testing
Ajuda seu agente a criar testes para código C# e .NET. Ele usa as melhores práticas para garantir que os testes sejam eficientes e confiáveis.
affaan-m/ECC
django-tdd
Faz seu agente aplicar estratégias de teste para Django com pytest-django e TDD. É útil para escrever testes robustos e garantir a qualidade do código, especialmente para APIs DRF.
affaan-m/ECC