Hi Remco,
We're using three levels of inheritance for the database test classes. The child class has a [TestFixture] attribute, the MakeAssertions() method, but no test methods marked with [Test]. The parent and grandparent classes are both abstract classes and do not have either the [TestFixture] or [Test] attributes. The abstract great-grandparent class then has a Run() method with a [Test] attribute but no [TestFixture] attribute for the class. The Run() method is therefore being called on the child class through being inherited from its great-grandparent. Through the use of delegates, this Run() method calls MakeAssertions() on the child class using different connection strings for different database providers.
The standard NUnit GUI picks up that the database test classes have a single inherited test method called Run(), but the ReSharper test runner does not. It thinks that the database test classes are empty test classes with no test methods. I've just done a test with a simple new project, where I've copied across the classes needed from the custom database testing framework. I've then added one test class using the standard NUnit format of [TestFixture] and [Test], then a second test class using the database testing framework. NCrunch picks up that the first class has test methods and updates the code coverage line markers with green. It does not think that the database test class has any tests within it though, and leaves the line markers as black.
This does not correspond with our large solution though, where NCrunch is showing every line marker as black, even those covered with standard NUnit tests. Could this be an issue with the solution size and quantity of tests, i.e. NCrunch isn't able to update the line markers quick enough in real time, so is leaving them as black?
Thanks,
Daley