
Testes unitários e xUnit
Framework xUnit, casos de teste, assertions, Moq, FluentAssertions, cobertura de código, princípios de TDD
1O que é o xUnit no contexto do .NET?
O que é o xUnit no contexto do .NET?
Resposta
O xUnit é um framework de testes unitários open-source para .NET, inspirado no JUnit e no NUnit. Ele usa atributos como [Fact] para testes simples e [Theory] para testes parametrizados. O xUnit incentiva boas práticas como o isolamento de testes (cada teste cria uma nova instância da classe de teste) e evita estado compartilhado por meio dos métodos tradicionais Setup/Teardown.
2Qual é a diferença entre [Fact] e [Theory] no xUnit?
Qual é a diferença entre [Fact] e [Theory] no xUnit?
Resposta
[Fact] decora um teste simples que executa uma vez sem parâmetros, enquanto [Theory] decora um teste parametrizado que executa várias vezes com diferentes valores fornecidos via [InlineData], [MemberData] ou [ClassData]. Usar [Theory] evita a duplicação de código ao testar vários cenários semelhantes com dados diferentes.
3Como usar [InlineData] com [Theory] no xUnit?
Como usar [InlineData] com [Theory] no xUnit?
Resposta
[InlineData] fornece dados diretamente no atributo para um teste [Theory], permitindo executar o mesmo teste com diferentes valores. Cada atributo [InlineData] representa um caso de teste distinto. Essa abordagem é ideal para testar vários cenários simples sem criar classes de dados separadas, reduzindo o código boilerplate.
Qual é a principal vantagem do Moq nos testes unitários em .NET?
Como configurar um mock com Moq para que um método retorne um valor específico?
+17 perguntas de entrevista
Outros temas de entrevista .NET
Fundamentos de C#
LINQ & Delegates
Fundamentos da linguagem C#
Fundamentos do ASP.NET Core
Ciclo de vida das requisições no ASP.NET Core
Configuration & Settings
Ciclo de vida da aplicação
Dependency Injection
Entity Framework Core
Minimal APIs
Desenvolvimento de Web API
Async no ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Serialização JSON
Entity Framework Core avançado
Recursos avançados do C#
Clean Architecture
Logging, Monitoring & Observability
Testes de integração
Docker & Containerization
NuGet Package Management
Memory Management & GC
Programação reativa
Async/await & Patterns
.NET Design Patterns
Otimização de desempenho
Segurança e Best Practices
SignalR e tempo real
Arquitetura de Microsserviços
Domine .NET para sua proxima entrevista
Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.
Comece gratis