Search Results for

    Show / Hide Table of Contents

    NUnit1035

    The 'step' parameter to Range cannot be zero

    Topic Value
    Id NUnit1035
    Severity Error
    Enabled True
    Category Structure
    Code RangeUsageAnalyzer

    Description

    The 'step' parameter to Range cannot be zero.

    Motivation

    The Range attribute is used to specify a range of values for a parameter in a test method. The step parameter defines the increment between each value in the range. If the step is zero, it would create an infinite loop of the same value. To prevent this NUnit will throw an exception at runtime.

    [TestFixture]
    public class MyTests
    {
        private const int Step = 10 / 100; // 10% step
    
        [Test]
        public void TestMethod([Range(0, 10, Step)] int value)
        {
            // Test code here
        }
    }
    

    How to fix violations

    Specify a non-zero value for the step parameter in the Range attribute.

    [TestFixture]
    public class MyTests
    {
        private const double Step = 10.0 / 100.0; // 10% step
    
        [Test]
        public void TestMethod([Range(0.0, 10.0, Step)] double value)
        {
            // Test code here
        }
    }
    

    Configure severity

    Via ruleset file

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

    Via .editorconfig file

    # NUnit1035: The 'step' parameter to Range cannot be zero
    dotnet_diagnostic.NUnit1035.severity = chosenSeverity
    

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

    Via #pragma directive

    #pragma warning disable NUnit1035 // The 'step' parameter to Range cannot be zero
    Code violating the rule here
    #pragma warning restore NUnit1035 // The 'step' parameter to Range cannot be zero
    

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

    #pragma warning disable NUnit1035 // The 'step' parameter to Range cannot be zero
    

    Via attribute [SuppressMessage]

    [System.Diagnostics.CodeAnalysis.SuppressMessage("Structure",
        "NUnit1035:The 'step' parameter to Range cannot be zero",
        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