tags:

views:

290

answers:

3

Hi,

I inherited an assembly with MSTest, but these tests were run using nunit-console on the build machine (not sure how it worked). So I decided to sort it out and change them to proper NUnit tests, but now nunit-console (or gui) can't find any tests. They run just fine using ReSharper test runner though. Any idea what could be missing?

+1  A: 

Are your test fixtures, classes and methods, public? They have to be for NUnit to find them.

MrTelly
+4  A: 

Check:

  • Is the class public?
  • Does it have a public parameterless constructor (e.g. the default one if you don't specify any other constructors)
  • Does it have the [TestFixture] attribute at the class level?
  • Is each test public?
  • Does each test have the [Test] attribute?
  • Is each test parameterless?

I believe some versions of NUnit were able to find tests based on their names, e.g. TestFooBarBaz() without the [Test] attribute, but I don't know what the state of this is now - it could explain the discrepancy though.

Jon Skeet
+1  A: 

Thanks for help, everyone. Upgrading to the latest NUnit framework fixed the problem (all the obvious things you suggested where ok).

Frederik Gheysels, you can try that as well I guess.

Grzenio
I've version 2.4.7; it seems that the latest version is 2.4.8 ... I'll give it a shot. thx.
Frederik Gheysels