Melhores testes em .NET por meio de declarações fluentes

Recentemente, descobri uma biblioteca para .NET que melhorou a maneira como escrevo meus testes para .NET. Funciona com todas as principais estruturas de teste e tem dois benefícios claros:

  • Isso torna seus testes muito mais legíveis
  • Ele fornece mensagens de erro claras, então você deve limitar sua atividade de depuração

Essa biblioteca é chamada FluentAssertions e está disponível em NuGet e CodePlex: http://fluentassertions.codeplex.com/

Exemplos do CodePlex

Exemplo simples

string actual = "ABCDEFGHI";
actual
.Should().StartWith("AB").And.EndWith("HI").And.Contain("EF").And.HaveLength(9);

Uma mensagem de erro útil

IEnumerable collection = new[] { 1, 2, 3 };
collection
.Should().HaveCount(4, "because we thought we put three items in the collection"))
collection
.Should().Contain(i => i > 0);

Impressionante!