After installing NUnit from NuGet, how do I force TestDriven.Net to use the NUnit dll referenced by NuGet?
I am trying to setup a Visual Studio solution that facilitates:
BDD
Using SpecFlow http://www.specflow.org/
As described on TekPub here: http://tekpub.com/view/concepts/5
I would like:
To keep all references and dependencies under the root of my solution's directory structure
The ability to use the,"Test With NUnit",command when I right-click on my project that TestDriven.NET provides.
I do NOT want:
- To use the version of NUnit that TestDriven.NET installs for itself
I do want:
- The, "Test With NUnit", command to use the version of NUnit that NuGet installs under my solution's sub directories for me
More detail and what I have already tried:
When you install TestDriven.NET it places its own version of NUnit in a path like:
- \Program Files (x86)\TestDriven.NET 3\NUnit\2.5
When you use NuGet to install the latest version of NUnit it places NUnit in a path like:
- Solution_root\packages\NUnit.2.5.10.11092
NuGet automatically adds a reference to \packages\NUnit.2.5.10.11092\lib\nunit.framework.dll for you. That reference is pretty much worthless if you happen to want to easily execute NUnit tests with the TD.Net menu because TD.Net doesn’开发者_如何学Pythont actually use the NUnit dll that NuGet just setup for you.
- How do I force TestDriven.Net's menu to use the referenced NUnit dll in my solution's path instead of the NUnit dll that it installs under \Program Files (x86)\TestDriven.NET 3\NUnit\?
OR
- If that is not possible, is there an easy shortcut key/menu command to execute the SpecFlow tests with the NUnit that IS under my solution folder without using TestDriven.Net?
Why am I trying to do this?
I installed NUnit with NuGet so that I could keep the testing framework libs inside of my solution and under source control. I need the ability to reference things like nunit.framework.dll under my solution's path (Solution_root\packages\NUnit.2.5.10.11092) and NOT reference it from (\Program Files (x86)\TestDriven.NET 3\NUnit\2.5).
I already tried the suggestions here:
http://www.paraesthesia.com/archive/2010/05/03/how-to-run-a-different-nunit-version-with-testdriven.net.aspx
and it still seems to be launching TestDriven.Net's version of NUnit instead of the one NuGet installs for me.
I also do not want to manually copy over and replace the NUnit files installed by TD.Net as that doesn’t allow for solution-specific dependency files and isolation under source control.
Not sure this is exactly what you're after, but here goes:
Under Visual Studio (i am using 2010):
- Go to Tools->Options->Test Driven->Test Runners
- This section lists all preconfigured test runners that ship with TD.NET.
- Run Regedit.
- Go to: *HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MutantDesign\TestDriven.NET\TestRunners* This will be different under 32bit OS.
Add a new key NUnit 2.5.X (simply copy another key and change whatever settings you need).
Restart Visual Studio.
- Under the menu from step #1, you'll find your new test runner.
- Click it and Save.
From now on, your tests will run with the test runner you configured.
精彩评论