docs/articles/nunit-analyzers/NUnit1035.md
| Topic | Value |
|---|---|
| Id | NUnit1035 |
| Severity | Error |
| Enabled | True |
| Category | Structure |
| Code | RangeUsageAnalyzer |
The 'step' parameter to Range cannot be zero.
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
}
}
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 the severity per project, for more info see MSDN.
# 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.
#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
[SuppressMessage][System.Diagnostics.CodeAnalysis.SuppressMessage("Structure",
"NUnit1035:The 'step' parameter to Range cannot be zero",
Justification = "Reason...")]