C# · Essencial · Inglês · Técnico
xUnit
Framework de testes muito usado em projetos .NET. Marca testes com [Fact] e testes parametrizados com [Theory], criando uma nova instância da classe a cada teste.
Onde usar
Aparece em projetos de teste criados com dotnet new xunit e rodados com dotnet test. Como cada teste ganha uma instância nova, o construtor serve de setup e IDisposable de teardown; estado compartilhado exige fixtures.
Em código
public class CalcTests
{
[Theory]
[InlineData(2, 3, 5)]
[InlineData(0, 0, 0)]
public void Soma(int a, int b, int r)
=> Assert.Equal(r, a + b);
}Exemplos
Each xUnit test gets a fresh instance of the class.
Cada teste do xUnit recebe uma instância nova da classe.
Use a Theory when the same test has several inputs.
Use um Theory quando o mesmo teste tem várias entradas.
Cuidado
Não espere um [SetUp] como no NUnit: no xUnit o setup é o construtor da classe.