Fluent interface and debuggability

I've heard arguments that Fluent Interface interfere with how debuggable a program is.


If the statement above throw Null Reference Exception, people argued that it'd be a debugging nightmare as you would not be able to know which statement returns null straight away.

There's a missing piece of the puzzle here.

A lot of people in the .net community who supports fluent interface, are the same people who supports TDD. TDD promises to eliminate (or at least greatly reduce) time spent on debugging. When one practices TDD, the debugability of using fluent interfacing may not be such a huge deciding factor anymore.

You would hope that I would have this:

public class PeopleTests
  public void FindByName_ShouldNotReturnEmptyObjectWhenNotFound() { ... }
  public void Kick_EmptyObjectCanKick() { ... }
  public void Punch_EmptyObjectCanPunch() { ... }
  public void Tease_EmptyObjectCanTease() { ... }

And in the case of a null reference exception, I'll see straight away from the failing test suite.