Search Results for

    Show / Hide Table of Contents

    NUnit1029

    The number of parameters provided by the TestCaseSource does not match the number of parameters in the Test method

    Topic Value
    Id NUnit1029
    Severity Error
    Enabled True
    Category Structure
    Code TestCaseSourceUsesStringAnalyzer

    Description

    The number of parameters provided by the TestCaseSource must match the number of parameters in the Test method.

    Note that the current implementation only works for single parameters.

    Motivation

    A TestCaseSourceAttribute is used to pass parameters to a test method, but the test method does not expect any or more parameters than supplied.

    private static readonly IEnumerable<string> NUnitNameSpaces = new[] { ".NUnit", ".NUnitExtensions" };
    
    [TestCaseSource(nameof(NUnitNameSpaces))]
    public void IsNUnit()
    {
    }
    

    How to fix violations

    Match the number of parameters between the test data and the test method.

    Configure severity

    Via ruleset file

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

    Via .editorconfig file

    # NUnit1029: The number of parameters provided by the TestCaseSource does not match the number of parameters in the Test method
    dotnet_diagnostic.NUnit1029.severity = chosenSeverity
    

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

    Via #pragma directive

    #pragma warning disable NUnit1029 // The number of parameters provided by the TestCaseSource does not match the number of parameters in the Test method
    Code violating the rule here
    #pragma warning restore NUnit1029 // The number of parameters provided by the TestCaseSource does not match the number of parameters in the Test method
    

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

    #pragma warning disable NUnit1029 // The number of parameters provided by the TestCaseSource does not match the number of parameters in the Test method
    

    Via attribute [SuppressMessage]

    [System.Diagnostics.CodeAnalysis.SuppressMessage("Structure",
        "NUnit1029:The number of parameters provided by the TestCaseSource does not match the number of parameters in the Test method",
        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