Skip to content

NUnit2019

Mikkel Nylander Bundgaard edited this page Apr 25, 2020 · 2 revisions

NUnit2019

Consider using Assert.That(expr, Is.Not.Null) instead of Assert.IsNotNull(expr).

Topic Value
Id NUnit2019
Severity Info
Enabled True
Category Assertion
Code ClassicModelAssertUsageAnalyzer

Description

Consider using the constraint model, Assert.That(expr, Is.Not.Null), instead of the classic model, Assert.IsNotNull(expr).

Motivation

The classic Assert model contains less flexibility than the constraint model, so this analyzer marks usages of Assert.IsNotNull from the classic Assert model.

[Test]
public void Test()
{
    object obj = null;
    Assert.IsNotNull(obj);
}

How to fix violations

The analyzer comes with a code fix that will replace Assert.IsNotNull(expression) with Assert.That(expression, Is.Not.Null). So the code block above will be changed into.

[Test]
public void Test()
{
    object obj = null;
    Assert.That(obj, Is.Not.Null);
}

Configure severity

Via ruleset file.

Configure the severity per project, for more info see MSDN.

Via #pragma directive.

#pragma warning disable NUnit2019 // Consider using Assert.That(expr, Is.Not.Null) instead of Assert.IsNotNull(expr).
Code violating the rule here
#pragma warning restore NUnit2019 // Consider using Assert.That(expr, Is.Not.Null) instead of Assert.IsNotNull(expr).

Or put this at the top of the file to disable all instances.

#pragma warning disable NUnit2019 // Consider using Assert.That(expr, Is.Not.Null) instead of Assert.IsNotNull(expr).

Via attribute [SuppressMessage].

[System.Diagnostics.CodeAnalysis.SuppressMessage("Assertion", 
    "NUnit2019:Consider using Assert.That(expr, Is.Not.Null) instead of Assert.IsNotNull(expr).",
    Justification = "Reason...")]
Clone this wiki locally