Monthly Archives: January 2011

Reloading all projects with VSCommands

Quite often I’ll find myself working in situations where multiple projects have changed, and Visual Studio asks to reload them, one at a time.  This happens when I’m working a lot with source control, and doing things like switching branches, … Continue reading 

Posted in Tools | 4 Comments

Tagging assemblies with Mercurial changeset hash

Once you move to a distributed version control system such as Git or Hg, the concept of incremental commit numbers begins to lose its meaning as exists in centralized version control systems such as SVN or TFS.  In centralized VCS, … Continue reading 

Posted in ContinuousIntegration, Mercurial | 3 Comments

Defining unit tests

I don’t know where I got off the tracks on this one, but I’m really liking Michael Feathers’ definition of a unit test: A test is not a unit test if: It talks to the database It communicates across the … Continue reading 

Posted in TDD | 16 Comments

Shifting testing strategies away from mocks

Over the past couple of years or so, I’ve started to come to the opinion that reliance on mocks for driving out design can seriously hamper large- to medium-scale refactoring efforts.  Things like adding method parameters, renames and the like … Continue reading 

Posted in BDD | 11 Comments

Putting mocks in their place

Awhile back, I talked about 3 simple rules for Rhino Mocks: Use the static MockRepository.GenerateMock method.  Don’t use an instance of a MockRepository, and don’t use the GenerateStub method. If the mocked instance method returns a value, use the Stub … Continue reading 

Posted in TDD | 15 Comments

The developer’s true goal

Having been a part of several large, long-term products and projects, I’ve come to a bit of an epiphany on what our goal as developers truly is.  For the longest time, I believed that our goal was to write good … Continue reading 

Posted in Process | 2 Comments