v2
v3
Warning
xUnit2004
"Do not use equality check to test for boolean conditions"
Cause
A violation of this rule occurs when:
Assert.Equal,Assert.NotEqual,Assert.StrictEqual, orAssert.NotStrictEqualis used- The expected value is a
trueorfalseliteral
Reason for rule
It's more readable to use Assert.True or Assert.False instead.
How to fix violations
For Equal and StrictEqual
Assert.Equal(true, b)=>Assert.True(b)Assert.StrictEqual(true, b)=>Assert.True(b)Assert.Equal(false, b)=>Assert.False(b)Assert.StrictEqual(false, b)=>Assert.False(b)
For NotEqual and NotStrictEqual
Assert.NotEqual(true, b)=>Assert.False(b)Assert.NotStrictEqual(true, b)=>Assert.False(b)Assert.NotEqual(false, b)=>Assert.True(b)Assert.NotStrictEqual(false, b)=>Assert.True(b)
Examples
Violates
using Xunit;
public class xUnit2004
{
[Fact]
public void TestMethod()
{
var result = 2 + 2;
Assert.Equal(true, result > 3);
}
}
Does not violate
using Xunit;
public class xUnit2004
{
[Fact]
public void TestMethod()
{
var result = 2 + 2;
Assert.True(result > 3);
}
}