Search Results for

    Show / Hide Table of Contents

    NUnit4001

    Simplify the Values attribute

    Topic Value
    Id NUnit4001
    Severity Info
    Enabled True
    Category Style
    Code SimplifyValuesAnalyzer

    Description

    Consider removing unnecessary parameters from the ValuesAttribute.

    Motivation

    When used without any arguments, the [Values] attribute on a (nullable) boolean or an (nullable) enum parameter will automatically include all possible values.

    Therefore the Values attribute like

    [Test]
    public void MyBoolTest([Values(true, false)] bool value) { /* ... */ } 
    

    can be simplified to

    [Test]
    public void MyBoolTest([Values] bool value) { /* ... */ } 
    

    How to fix violations

    Remove all arguments of the Values attribute.

    Configure severity

    Via ruleset file

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

    Via .editorconfig file

    # NUnit4001: Simplify the Values attribute
    dotnet_diagnostic.NUnit4001.severity = chosenSeverity
    

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

    Via #pragma directive

    #pragma warning disable NUnit4001 // Simplify the Values attribute
    Code violating the rule here
    #pragma warning restore NUnit4001 // Simplify the Values attribute
    

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

    #pragma warning disable NUnit4001 // Simplify the Values attribute
    

    Via attribute [SuppressMessage]

    [System.Diagnostics.CodeAnalysis.SuppressMessage("Style",
        "NUnit4001:Simplify the Values attribute",
        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