Skip to content

Latest commit

 

History

History
43 lines (30 loc) · 2.04 KB

UseCases.md

File metadata and controls

43 lines (30 loc) · 2.04 KB

NFluent use cases

  1. Provide a fluent writing experience for unit tests

As a Developer,
I want to be able to rely on the autocompletion when I write test assertions
So that I can write them in a fluent manner, and without any hesitation about the kind of assertion that is possible and available regarding my current System Under Test (SUT).

  1. Provide a fluent reading experience for unit tests

As a Developer,
I want to be able to read assertions close as much as possible to plain English,
So that my unit tests are easier to understand for me and the other people (even for non-technical ones).

  1. Provide a fluent troubleshooting experience for unit tests

As a Developer,
I want to be able to see clear and complete error messages when a test fails,
So that I can understand the reasons and to fix it without being forced to launch it with a Debugger.

As a Developer,
I want to be able to have the expected and the current values properly aligned in two different lines on the test failure error messages,
So that I can compare the two values and be able to fix the test without being forced to launch it with a Debugger.

  1. Provide an error-proof experience for unit tests

As a Developer,
I don't want to be able to switch or to get confused about the order of "expected" and SUT values,
So that all my unit tests error message are reliable when my tests are failing.

  1. Provide an helpful way to reverse engineer legacy code

As a Developer,
I want to be able to temporarily write an on-purpose failing test assert on a legacy code method,
So that I can understand its return within a clear assertion error message. Assertion error message also well formated so that I can easily instanciate arrays and collections type initializers.