41 lines
1.3 KiB
Plaintext
41 lines
1.3 KiB
Plaintext
![]() |
There's no point in having a test class without any test methods.This could lead a maintainer to assume a class is covered by tests even though it is not.
|
||
|
|
||
|
Supported test frameworks are <code>NUnit</code> and <code>MSTest</code> (not applicable to <code>xUnit</code>).
|
||
|
This rule will raise an issue when any of these conditions are met:
|
||
|
* For *NUnit*, a class is marked with <code>TestFixture</code> but does not contain any method marked with <code>Test</code>, <code>TestCase</code>, <code>TestCaseSource</code> or <code>Theory</code>.
|
||
|
* For *MSTest*, a class is marked with <code>TestClass</code> but does not contain any method marked with <code>TestMethod</code> or <code>DataTestMethod</code>.
|
||
|
|
||
|
== Noncompliant Code Example
|
||
|
|
||
|
----
|
||
|
[TestFixture]
|
||
|
public class SomeClassTest { } // Noncompliant - no test
|
||
|
|
||
|
[TestClass]
|
||
|
public class SomeOtherClassTest { } // Noncompliant - no test
|
||
|
----
|
||
|
|
||
|
== Compliant Solution
|
||
|
|
||
|
----
|
||
|
[TestFixture]
|
||
|
public class SomeClassTest
|
||
|
{
|
||
|
[Test]
|
||
|
public void SomeMethodShouldReturnTrue() { }
|
||
|
}
|
||
|
|
||
|
[TestClass]
|
||
|
public class SomeOtherClassTest
|
||
|
{
|
||
|
[TestMethod]
|
||
|
public void SomeMethodShouldReturnTrue() { }
|
||
|
}
|
||
|
----
|
||
|
|
||
|
== Exceptions
|
||
|
|
||
|
* abstract classes
|
||
|
* derived classes that inherit from a base class that does have test methods
|
||
|
* in *MSTest*, classes that contain methods marked with either <code>AssemblyInitialize</code> or <code>AssemblyCleanup</code>.
|