How to Integrate NUnit With VS 2008 - nunit

Hi i created a unit test case using NUnit.When i run the test NUnit it works fine.But i need to run it by using Visual studio.So i referred the NUnit website and followed the below steps
1)Right clicked the test project and clicked properties |Chose Debug option
2)checked the external program option and choosed the nUnit exe file.
3)And i run the test
Error i got:
Cannot start because the test project does not contain any test method.But i included 4 test methods which works in NUnit GUI.
Thanks in advance

Check out TestDriven.NET, a free Visual Studio add-in that allows you to run your unit tests with NUnit directly from the IDE.

Also ReSharper beautifully supports testing with NUnit!
http://www.jetbrains.com/resharper/features/unit_testing.html

On the Debug options tab, make sure to also set a command line argument with the name of your test assembly.

Related

NUnit 3.2: Autorun tests after compile (Windows)

On a new VS solution, I've started using NUnit 3.2. Older versions (2.6) had a external NUnit GUI, that made it possible to watch assemblies and automatically run tests on modifications. But I cannot find anything similar to this for 3.2 - neither in the docs nor through Google.
I've installed NUnit.3.2.0.msi, I've also installed the NUnit3 Test Adapter in VS + NUnit3.2 nuget package for my project.
I can easily run all my tests through VS' Test Explorer. But I miss some way to run them automatically. Anyone know how?
In older versions of Visual Studio, there used to be an option to run tests after every build, but it was removed. It was always buggy and tended to lock files and prevent you from rebuilding.
You could set a post build command on your test project to automatically run NUnit console whenever your test project recompiles. You have NUnit console installed, so you could point to that, or use the NUnit.Runners package to install it into the packages folder of your solution.
Open your test project settings and go to the Build Events tab. Click on Edit Post-Build. Enter the following;
"C:\Program Files (x86)\NUnit.org\nunit-console\nunit3-console.exe" "$(TargetPath)"
Now, whenever you build, your tests will be run and the results will appear in the output window.
Maybe not ideal if there is a lot of build output after your tests but it works.
FYI, the colour in the build output is a side-effect of the VSColorOutput Visual Studio extension, it is not from NUnit.
Visual Studio captures STDOUT, so I haven't been able to get it to open a CMD window and run the tests. If anyone knows how to do that, add a comment and I will update.
There is a GUI for NUnit 3 under developement on GitHub - but it's not advised for production use yet.
We set our tests up using the NUnitLite runner. This allows you to turn your test assembly into an executable - and on run, will launch the console and run all tests. [Documentation]

How to build and run nunit scripts integrated in visual Studio via quickbuild

My quick build has three steps:
Repository : Which is checking out the source from svn - running fine
Run the nunit script via devenv.com and generate the abc.xml file - NOT WORKING
Publish the report from that abc.xml - running fine with one sample xml
Could you help with this 2nd step?
i.e generating .xml automatically via quickbuild from nunit test cases.
Please use the NUnit console runner like this:
nunit-console /result:console-test.xml nunit.tests.dll
More information on the runner can be found here: http://www.nunit.org/index.php?p=consoleCommandLine&r=2.6.2

Process NUnit result.xml and show it in Team City Web GUI

I remember doing this in an older version of Team City in which the NUnit Runner failed, so I tried running NUnit using the Command Line Runner instead.
I think there was an option in the Command Line Runner settings which let you specify the kind of output file: NUnit result.xml was one of them. Doing this, you could see the test result breakdown in the Web GUI, just like when the NUnit Runner worked.
But I don't see this in the latest Team City (6.5.5). Can it still be done?
PS: Before anyone asks, I can't use Team City's NUnit Runner because NUnit has a bug which will be fixed in the soon to come 2.6.0 version. Said bug does not occurr when running nunit-console
This could be done using importdata TeamCity message, this is really helpful when you are running NUnit tests manually executing nunit-console.exe from an MSBuild script, for instance using NUnit MSBuild Community Task, but keep in mind that TeamCity provides built in NUnit tests runner so you do not need this low level TeamCity scripting. Anyway you can import report in this way:
<Message
Text="##teamcity[importData type='nunit' path='...\TestResults.xml']"
Importance="High"/>
See Importing XML Reports
If you prefer to run code coverage, code inspection, test tools or
duplicate finders directly from build script, not as a build runner,
you can use the importData service messages to import generated xml
reports into TeamCity.
The functionality was still there, found it by accident when looking at another build configuration. Importing an XML is now a "Build Feature", see:

Create NUnit test cases automatically from Pex

I need to create the NUnit Test case automatically from my .Net Solution file.
Morover this needs to be done , from command line.
I heard Pex create test cases automatically.
Let know
The following steps should get you there:
Add a reference to Pex.NUnit.dll in your test project
In your test project's AssemblyInfo.cs, add the attribute - [assembly: Pex.NUnit.PexNUnitPackage]
Build your solution (either from Visual Studio or using msbuild from the command line)
run Pex from the command line: pex.exe bin\Debug\TestProjectName.dll
The tests are placed under reports\TestProjecName.#####.#####\tests.
You can read more about this in Exercise 5 of Parameterized Unit Testing with Microsoft Pex
Ryan Gross' answer
points to the right direction.
However Pex.exe generates Unit Tests from Parameterized Unit
Tests, not from
application classes itself.
To generate Parameterized Unit Tests you need to run pexwizard.exe
pexwizard.exe <your assembly name> options
Possible options are described in
http://testoriented.googlecode.com/svn-history/r89/suitability/trunk/Tools/Pex-0.22.50128.1/pexwizard.txt

moq/Nunit - No tests are loaded or are disabled

When I try to run the tests, I get a message saying that the tests are not loaded or are disabled. I cannot see how to enable or activate the test code that has been created.
This seems to be a common error when installing/using addon Nunit or Moq but I have yet to find a link that has a solution.
If you know how to solve this problem please let us all know :) Thanks.
Visual Studio 2008 SP1 3.5SP1 .net
The Microsoft tests run ok.
This may sound stupid, but it's tripped me up more than once, are your test classes 1. Public and 2. Decorated with the [TestFixture()] attribute?
Also, your tests have the [Test] attribute, correct?
if you want to use Visual Studio Test Runner, you need to install the NUnit Test Adapter:
http://nunit.org/index.php?p=vsTestAdapter&r=2.6