Fluent libraries give more readable failure messages.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | // ====================================================================== // Q: xUnit Assert, FluentAssertions or Shouldly? // // - Fluent libraries give more readable failure messages. Caution: // FluentAssertions v8 moved to a paid license for commercial use. Many teams // stayed on v7 or switched to Shouldly / AwesomeAssertions. // - Snapshot testing (Verify) for large outputs (JSON responses, generated SQL, // emails): the first run stores the result, later runs compare against it. // ====================================================================== // xUnit Assert.Equal(2, order.Lines.Count); Assert.Collection(order.Lines, l => Assert.Equal("PIP-100", l.Sku), l => Assert.Equal("GLV-NIT-M", l.Sku)); Assert.Equivalent(new { Sku = "PIP-100", Quantity = 2 }, dto); // structural comparison // Shouldly order.Status.ShouldBe(OrderStatus.Placed); order.Lines.ShouldContain(l => l.Sku == "PIP-100"); |