Search Results for

    Show / Hide Table of Contents

    NUnit2044

    Non-delegate actual parameter

    Topic Value
    Id NUnit2044
    Severity Error
    Enabled True
    Category Assertion
    Code DelegateRequiredAnalyzer

    Description

    The actual argument needs to be evaluated by the Assert to catch any exceptions.

    Motivation

    In order for the Assert.That to catch an exception or a timeout, the code must be a delegate so it can be evaluated by the method. If the parameter is not a delegate, it will be evaluated before the call to Assert.That and stop further execution.

    How to fix violations

    Convert the call into a delegate using a lambda expression or method group.

    Configure severity

    Via ruleset file

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

    Via .editorconfig file

    # NUnit2044: Non-delegate actual parameter
    dotnet_diagnostic.NUnit2044.severity = chosenSeverity
    

    where chosenSeverity can be one of none, silent, suggestion, warning, or error.

    Via #pragma directive

    #pragma warning disable NUnit2044 // Non-delegate actual parameter
    Code violating the rule here
    #pragma warning restore NUnit2044 // Non-delegate actual parameter
    

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

    #pragma warning disable NUnit2044 // Non-delegate actual parameter
    

    Via attribute [SuppressMessage]

    [System.Diagnostics.CodeAnalysis.SuppressMessage("Assertion",
        "NUnit2044:Non-delegate actual parameter",
        Justification = "Reason...")]
    
    • Edit this page
    In this article
    Back to top Generated by DocFX | Copyright (c) 2018- The NUnit Project - Licensed under CC BY-NC-SA 4.0