This month, the one and only Arlo Belshee (http://arlobelshee.com/) will be joining us and sharing some thoughts that are sure to challenge your thinking.
Unit testing, done well, is all about the units. And that raises the question of dependencies. How do we replace dependencies in test, but use the real version in product code.
The first approach people learn is mocks. Mocks are great. They let you test highly-coupled code in units as if it had low coupling. Many teams stop here. This is good enough to get significant value.
But it isn't good enough for me.
I'm going to discuss how treating mocks as a code smell has helped drive good design throughout my products. I'll introduce several alternatives to mocking, each of works better in some set of circumstances. And I will lay out a path that you can follow to continuously get design feedback from your code and improve your design skills rapidly.
Oh, and I suspect we'll also argue a bunch as we explore the topic. This will be a discussion, not a lecture.
About Arlo Belshee:
"Arlo does a little bit of everything, but what he really does is inspire courage."
"He has gone back and forth several times between management and in-the-trenches development on technically sophisticated products. He challenges every assumption he can find, and helps people learn to change – always and continuously."
"Arlo joined Microsoft two years ago, and has been coaching teams on TDD, pairing, emergent design, working tiny, and other Adaptive Engineering practices since then. He runs Code Retreats, an Agile Exchange Program, Dojos, and other experiential activities to help teams see what is possible. He also does chalk talks with various teams around the company, teaches a practicum on Adaptive Engineering, and answers detail questions to help teams see how to achieve real agility."
"Don’t do anything he says, but learn why he says it and come up with something better. The best compliment he’s received was when a co-worker termed him the Company Jester – because Arlo always has permission to laugh at the King."
6:30pm Doors open. Eat, drink and socialize.
7:00pm Welcome, Introductions. Presentation.
7:45pm Wrap-up / Q&A / Socialize