MSTEST0013: AssemblyCleanup method should have valid layout
Property | Value |
---|---|
Rule ID | MSTEST0013 |
Title | AssemblyCleanup method should have valid layout |
Category | Usage |
Fix is breaking or non-breaking | Non-breaking |
Enabled by default | Yes |
Default severity | Warning |
Introduced in version | 3.3.0 |
Is there a code fix | Yes |
Cause
A method marked with [AssemblyCleanup]
should have valid layout.
Rule description
Methods marked with [AssemblyCleanup]
should follow the following layout to be valid:
- it should be
public
- it should be
static
- it should not be
async void
- it should not be a special method (finalizer, operator...).
- it should not be generic
- it should not be abstract
- it should not take any parameter, or starting with MSTest 3.8, it can have a single
TestContext
parameter - return type should be
void
,Task
orValueTask
The type declaring these methods should also respect the following rules:
- The type should be a class.
- The class should be public or internal (if the test project is using the [DiscoverInternals] attribute).
- The class should be marked with [TestClass] (or a derived attribute)
- the class should not be generic
How to fix violations
Ensure that the method matches the layout described above.
When to suppress warnings
Do not suppress a warning from this rule. If you ignore this rule, flagged instances will be either skipped or result in runtime error.
Suppress a warning
If you just want to suppress a single violation, add preprocessor directives to your source file to disable and then re-enable the rule.
#pragma warning disable MSTEST0013
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0013
To disable the rule for a file, folder, or project, set its severity to none
in the configuration file.
[*.{cs,vb}]
dotnet_diagnostic.MSTEST0013.severity = none
For more information, see How to suppress code analysis warnings.