ExpertiDict

C# · Essencial · Inglês · Técnico

xUnit

/ˈɛks ˈjunɪt/substantivo

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.

Veja também

Todos os termos de C#