问题
I'm trying to set up simple NUnit project in Visual Studio 2012 Express using NuGet manager. From PROJECT-> Manage NuGet Packages I installed NUnit (framework) and wanted add NUnit.Runner but during installation I'm receiving:
'NUnit.Runners 2.6.2' already installed.
Ok, but when I go to the TOOLS->Library Package Manager->Manage nuGet Packages for Solution both NUnit (framework) and NUnit.Runners are displayed as installed.
I can use NUnit framework in the code but when I'm trying to run tests the old 'Test Explorer' stays and doesn't show anything. Tests are not invoked neither.
Am I missing something in VS2012 or NUnit configuration?
回答1:
As I've found out Visual Studio Express does not support project extensions (forbidden and disabled by Microsoft). So it seems there's no option to use NUnit without some workarounds. So far I installed full version and there NUnit runner works as expected.
回答2:
You could also use the approach sombody mentioned in the comments of this blog post:
Add a reference to nunit-console-runner in your test assembly.
In your test assembly, make a class with the following one liner (see below)
Open your test assembly's properties. For example, right-click on the assembly and select Properties.
On the Application tab, select Output Type: Windows Application; and Startup Object: NUNitConolseRunner (the file above).
On the Debug tab, enter the .csproj file name in Command Line Arguments; and browse to the folder of the .csproj file in Working Directory.
Save everything, set a breakpoint and run using F5 or the green arrow button.
Code:
using System;
namespace MotorExampleTests
{
// Written by blokeley
class NUnitConsoleRunner
{
[STAThread]
static void Main(string[] args)
{
NUnit.ConsoleRunner.Runner.Main(args);
}
}
}
回答3:
Why not use the built in testrunner in VS2012 and add the nunit testadapter via the extension manager?
来源:https://stackoverflow.com/questions/13348613/nunit-runners-via-nuget-on-visual-studio-2012-express-doesnt-work