# 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://charles-bryant.gitbook.io/automating-the-microsoft-stack/quality/tools/nunit.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
