-
Notifications
You must be signed in to change notification settings - Fork 43
NUnit Test Adapter for Visual Studio 2012 and 2013
The NUnit Test Adapter allows you to run NUnit tests inside Visual Studio. The current release, version 1.2, is designed to work with Studio 2012 (All updates), and with Visual Studio 2013 (All updates including Update 4 checked Sept 2014). The nuget adapter version also works for the VS 2015 preview CTPs.
Note that Releases of Visual Studio prior to VS 2012 did not have the ability to directly run tests built with Open Source testing frameworks like NUnit.
Note that it doesn't work with VS Express, users of VS Express could use the VS Community Edition instead which supports 3rd party adapters like NUnit.
Note that some features like traits are not available under VS 2012 RTM.
A preview VSIX adapter for VS 2015 CTPs are available at BinTray.
From version 0.95 there are two ways of installing the adapter within Visual Studio. See Note 1 how to choose.
- Use the Extension Manager
- Add it as a Nuget package to your solution. (New in 0.95, require Update 1 or higher)
To install the NUnit Test Adapter using the Extension Manager, follow these steps:
- From within Visual Studio (>=2012), select Tools | Extension Manager.
- In the left panel of the Extension Manager, select Online Extensions.
- Locate (search for) the NUnit Test Adapter in the center panel and highlight it.
- Click 'Download' and follow the instructions.
Use the Extension Manager to ensure that the NUnit Test Adapter is enabled.
To add it is a Nuget package, you must have an active solution, then follow these steps:
- From Tools menu, use Library Package Manager, select Manage NuGet packages for solution
- In the left panel, select Online
- Locate (search for) NUnit Test Adapter in the center panel and highlight it
- You will find two packages, one without framework and one with framework. See notes below for which to choose.
- Click 'Install'
- In the "Select Projects" dialog, you need to select at least one project to add the adapter to, see notes below.
Note 1: How to choose between Extension and NuGet package
The Extension will apply to Visual Studio itself, and will work for all projects you use. All users of your solution needs to install the Extension. If you use TFS Build you must also install the extension to the build system there. The Package will apply to the solution, and will work for any other user too, as it follows the solution, but requires the user to have Update 1 or above. It will also work for any TFS2012 Update 1 or above server build, including TF Service and requires no further installation.
Note 2: Choosing NuGet package
The adapter packages come with and without the NUnit framework. If you have only one test project you can choose the one with framework, that saves you from having to install both the NUnit package and the Adapter package. If you have multiple test projects you need to install the NUnit framework for all of these, but only one of these need the adapter, then choose the adapter package without framework. Installing the adapter for multiple projects will do no harm.
Note 3: Choosing both This will work fine, but be aware that the extension takes precedence.
In preparation for using the test adapter, make sure that the Unit Test Explorer is shown in your window. If you don't see it, use the menu ( Test | Windows | Test Explorer ) to show it and position the window where you would like it within Visual Studio.
When you initially open a solution, no tests will be displayed. After compiling the assemblies in the solution, Visual Studio will interact with the NUnit Test Adapter to discover tests and a list of them will be shown in the Test Explorer.
Click on Run All in the Test Explorer to run all the tests. You may also select one or more tests in the list and run them by right-clicking and using the context menu. The context menu also contains entries for debugging tests and for navigating to the source code of a test.
Tests may be grouped by Duration and Outcome under VS2012 RTM and also by Traits and Project using Update 1, and Class using Update 2. NUnit translates any Categories and Properties used on your tests to Visual Studio as Traits.
Tests may be filtered in Visual Studio under Update 1 by Trait, Project, Error Message, File Path, Fully Qualified Name, Output and Outcome. Use the search edit box at the top of the list of tests to specify a filter.
Tests may be organized by play lists in Visual Studio under Update 2. Playlists is more or less equal to the old test lists from VS 2010.
Parametrized tests, like NUnits data driven tests, will show up as seperate test cases for each set of parameters.
- There is no test status in Visual Studio corresponding to NUnit's Inconclusive result, so tests with this result are reported as Not Run. Click on the individual test to see the result.
- Theories are reported as individual cases, rather as a single unit.
- Startup performance is substantially improved but is still slower than using NUnit directly.
- A VSIX adapter of older version will be used regardless of version of NuGet adapter.
Workaround: Make sure you have upgraded VSIX adapter to latest version, or uninstalled it if you have NuGet adapter in a solution. The 0.95 and later coming versions will output their version number in the Output window under Tests, any older versions will not have any version number there.
- Versions of Resharper earlier than the 8.2 version has an issue with the NuGet adapter, which will prevent NUnit tests from running. Make sure you have updated Reshaper to at version 8.2.
For more information see the blogs by Charlie Poole and Terje Sandstrom Also see the following MSDN ALM blog post:
Part 2–Using Traits with different test frameworks in the Unit Test Explorer
Bugs should be reported using the issue tracker on Github,
Copyright © 2012 Charlie Poole. All Rights Reserved.