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?
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.
Thanks for help, everyone. Upgrading to the latest NUnit framework fixed the problem (all the obvious things you suggested were OK).
Frederik Gheysels, you can try that as well I guess.
Are your test fixtures, classes and methods, public? They have to be for NUnit to find them.
来源:https://stackoverflow.com/questions/618292/nunit-doesnt-find-tests-in-assembly