June 20, 2017

...Learn TDD with Codemanship

Are.Fluent(Assertions).Really.Easier.To(Understand)?

I'm currently updating a slide deck for an NUnit workshop I run (all the spiffy new library versions, because I'm down with the yoof), and got to the slide on fluent assertions.

The point I make with this slide is that - according to the popular wisdom - fluent assertions are easier to understand because they're more expressive than classic NUnit assertions.

So, I took a bunch of examples of classic assertions from a previous slide and redid them as fluent assertions, and ended up with this.



Compared next to each other like this, suddenly somehow my claim that fluent assertions are easier to understand looks shaky. Are they? Are they really?

A client of mine, some time back now, ran a little internal experiment on this with fluent assertions written with Hamcrest and JUnit. They rigged up a dozen or so assertions in fluent and classic styles, and timed developers while they decided if those tests would pass or fail. It was noted - with some surprise - that people seemed to grok the classic assertions faster.

What do you think?



Posted 1 hour, 3 minutes ago on June 20, 2017