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!