Choosing a Unit Testing Framework

Jul 11, 2010 at 2:28 PM

What to use for Unit Testing in the Boston Azure Project? I'd like to generate a discussion.

Suggested criteria for choosing a framework:

  1. Free
  2. Strong tool support (e.g., test runners, refactoring)
  3. Strong community
  4. Ease of use/learning over raw power
  5. Support for technologies we care about: Azure, MVC, multiple languages (hey, we may want an F# Worker Role)

Are these good criteria? Any other suggested criteria?

By these current criteria, MSTest is ruled out. MSTest is the unit testing framework that's baked into Visual Studio 2010 Pro and above - but is not included with the free Express versions, and not available stand-alone for free. Since we do not want to require project participants purchase a specific level of Visual Studio, but want to support working with "any" level, this is ruled out.

Other reasonable options include the following free/open source frameworks:

  • nUnit
  • mbUnit
  • xUnit
  • Others?

What do you use / know about / think might have merit? Which selection criteria are important to you?