v2
v3
Error
xUnit1009
"InlineData values must match the number of method parameters"
Cause
This rule is triggered when you don't have enough test data in your [InlineData]
attribute to match the number of parameters on your test method.
Reason for rule
A theory which has insufficient data to cover all the tests will fail when you attempt to run it because of the missing data.
How to fix violations
To fix a violation of this rule, you may:
- Add data to the
[InlineData]
attribute - Remove unused parameters from the test method
- Add a default parameter value on the test method parameter
Examples
Violates
using Xunit;
public class xUnit1009
{
[Theory]
[InlineData("Hello world")]
public void TestMethod(string greeting, int age) { }
}
Does not violate
using Xunit;
public class xUnit1009
{
[Theory]
[InlineData("Hello world", 42)]
public void TestMethod(string greeting, int age) { }
}
using Xunit;
public class xUnit1009
{
[Theory]
[InlineData("Hello world")]
public void TestMethod(string greeting) { }
}
using Xunit;
public class xUnit1009
{
[Theory]
[InlineData("Hello world")]
public void TestMethod(string greeting, int age = 42) { }
}