A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/shouldly/shouldly below:

shouldly/shouldly: Should testing for .NET—the way assertions should be!

Shouldly is an assertion framework which focuses on giving great error messages when the assertion fails while being simple and terse.

This is the old Assert way:

Assert.That(contestant.Points, Is.EqualTo(1337));

For your troubles, you get this message, when it fails:

How it Should be:

contestant.Points.ShouldBe(1337);

Which is just syntax, so far, but check out the message when it fails:

contestant.Points should be 1337 but was 0

It might be easy to underestimate how useful this is. Another example, side by side:

Assert.That(map.IndexOfValue("boo"), Is.EqualTo(2));    // -> Expected 2 but was -1
map.IndexOfValue("boo").ShouldBe(2);                    // -> map.IndexOfValue("boo") should be 2 but was -1

Shouldly uses the code before the ShouldBe statement to report on errors, which makes diagnosing easier.

Read more about Shouldly and its features at https://docs.shouldly.org/.

Shouldly can be found here on NuGet and can be installed by copying and pasting the following command into your Package Manager Console within Visual Studio (Tools > NuGet Package Manager > Package Manager Console).

Alternatively if you're using .NET Core then you can install Shouldly via the command line interface with the following command:

dotnet add package Shouldly

To have ShouldMatchApproval display a diff of the expected and actual files, you will need to install the Shouldly.DiffEngine package and configure it.

Install-Package Shouldly.DiffEngine
ShouldMatchConfiguration.ShouldMatchApprovedDefaults.ConfigureDiffEngine();

Contributions to Shouldly are very welcome. For guidance, please see CONTRIBUTING.md


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4