Last night was my first Geek Night at ThoughtWorks. There have been many Geek Nights but this was the first under the management of Paul Nasrat and myself.
I was pretty happy with the evening and I think both speakers and audience came away pretty happy too, which is great. Paul and I will be reviewing the feedback from the event before the next one on the 12th of June.
I learned about State machine support in JMock, something I have never used despite having used the framework a lot. The audience also go to see how Nat and Steve think JMock tests should look. It made me realise that I have tended to set assertions in my mocks rather than using stubs in the past. Well no more! Allowing is my new friend.
During the dojo I also got to do a segment on a classic refactoring of a block of code to a method, to a method in a private class, to a private class implementing an interface, to a collaborator decoupled by an interface. It is a classic technique (and you will be able to see it in the dojo code when it gets posted this weekend) and seeing it put to use by Nat, who is a great developer and someone who really loves to code, was very cool. It was an experience I genuinely felt privileged to be part of and I hope the other people in the pairs felt the same.
I would also hope that it illustrates how mocking should lead to changes in design of objects rather than “pickling” their behaviour at a certain point in time.