NUnit

NUnit (http://www.nunit.org/) is a unit-testing framework for all .Net languages. We use NUnit as the primary test runner for our SpecFlow tests.

Having no integration with Visual Studio outside of external products means we have to run tests during local development through the external NUnit GUI. There are projects that provide Visual Studio integration, but we did not evaluate them. NUnit is planning to release the NUnit Visual Studio Test Adapter (https://github.com/nunit/nunit-vs-adapter), currently an RC, that allows the running of NUnit tests in the Visual Studio (2012 or 2013) Test Explorer. This is not currently a part of our test development workflow, but we are watching it closely and will begin evaluating it once we convert our environment to Visual Studio 2013 in March 2014.

Another issue with NUnit is we are not able to run NUnit tests in parallel. This limits our ability to optimize test execution. NUnit is planning to support multiple worker threads in the upcoming release of the 3.0 version NUnit (https://github.com/nunit).

We investigated other test runners, but NUnit had the best integration with our version of CruiseControl.NET which we use for test reporting. If the issues with VS integration and parallel execution are resolved, NUnit will be maintained as our primary test runner. If not, we may look closer at MSTest or another test framework with CruiseControl.NET integration.

Last updated