12. HARD FACT #2
CONSEQUENCES
tests are hard to maintainâš
loss of trust in existing testsâš
Removal of failing tests?
Test intentions may be difïŹcult to grasp
15. HARD FACT #3
CONSEQUENCES
Need to debug the failing test to understandâš
slowwww⊠TDD feedback loopâš
Poor efïŹciency?!?
When reliable⊠error messages are often unhelpful
28. âą NFluent is
âą An OSS .NET library for ïŹuent assertions
âą Independent and compliant with all major .NET test runners
âą Directly inspired by the awesome Java FEST assert library
âą Available on
IN A FEW WORDS
29. âą A fully extensible model
âą No need to wait the NFluent team to add your own
assertions on any kind of âvalueâ
âą The opportunity to use your own ubiquitous language
(DSL) from within your tests
!
âą Some extra candies
âą Like the Properties extension method for IEnumerable
âą The HasFieldsWithSameValues(anonymous class)
BONUS FEATURES
40. (like: FluentAssertion, SharpTests Ex, etc.)âš
âą Their usage of lambda expression predicates hurts the ïŹuent
experience
new[] { 1, 2, 3 }.Should().Contain(item => item > 3, "at least {0} item should be larger than 3", 1);
âą (Red is dead, but) Should is weakâŠ
âą We aim to be more ambitious in term of ïŹuentness
NFLUENT VS. OTHER
ASSERTION LIBRARIES?
41. âą For NFluent contributors
âą No warning (all warn as ERROR)
âą No StyleCop warning (full rules)
âą 100% of test coverage - all test passed of course!
âą The entire build lasts less than a minute (including all unit
tests)
DEFINITION OF DONE