Monthly Archives: August 2007

Legacy code testing techniques: subclass and override non-virtual members

This post was originally published here. One of the core techniques in Michael Feathers’ Working Effectively With Legacy Code is the “Subclass and Override Method” technique.  Basically, in the context of a test, we can subclass a dependency and override behavior … Continue reading 

Posted in C#, Legacy Code, Testing | 1 Comment

Template Delegate Pattern

This post was originally published here. I’ve had to use this pattern a few times, most recently in Behave#.  It’s similar to the Template Method pattern, but doesn’t resort to using subclassing for using a template method.  Instead, a delegate … Continue reading 

Posted in C#, Patterns, Refactoring | Leave a comment

Agile references for PMs

This post was originally published here. By “PM”, I’m referring to Project Managers.  Adopting Agile can be a scary proposition for those entrenched in waterfall processes.  I have a lot of sympathy for PMs whose dev team decides to switch … Continue reading 

Posted in Agile | Leave a comment

Authoring stories with BDD using Behave# and NSpec

This post was originally published here. A question came up on the Behave# CodePlex site, asking about the intent of Behave# and where it fits with NSpec.  BDD is all about using TDD to create specifications, and NSpec bridges the gap with a specification-friendly … Continue reading 

Posted in Behave# | Leave a comment

Continuous Integration resources for Team Build

This post was originally published here. Team Build 2005 did not support Continuous Integration out of the box.  Lots of add-ins and tools have been released since Team Build released to do CI.  Here’s an admittedly incomplete list for doing … Continue reading 

Posted in Team Build | Leave a comment

Pending scenarios in Behave#

This post was originally published here. When first authoring stories and scenarios in Behave#, the implementation to support the scenario probably doesn’t exist yet.  Part 4 of Nelson Montalvo’s series of posts on Behave# illustrates this quite nicely.  The problem is that you … Continue reading 

Posted in Behave# | Leave a comment

Some pairing tips

This post was originally published here. One of the stranger things I noticed about pair programming was that I felt I was more efficient working with a pair than working on task alone.  Mostly I felt it was because not only … Continue reading 

Posted in Agile | Leave a comment

Importance of collocation

This post was originally published here. Jeremy Miller mentioned that Fred George is blogging now, and that he’d be worth reading.  Wow, Jeremy wasn’t lying.  One of the first posts really resonated with me, on collocation.  I’ve now had the … Continue reading 

Posted in Agile | Leave a comment

Addressing some Behave# concerns

This post was originally published here. So Joe and I have received some initial feedback for Behave#.  Joe’s already given a great intro into how to use Behave# and addressed Roy’s specific questions.  I thought I’d address some of the … Continue reading 

Posted in Behave# | Leave a comment

Some Behave# news

This post was originally published here. Joe already announced this, but it doesn’t hurt to get the word out some more, right?  We’re going to combine our efforts into Behave#, a behavior-driven design framework.  For more information about our framework, … Continue reading 

Posted in Agile, Behave# | Leave a comment