v2
v3
Error
xUnit2021
"Async assertions should be awaited"
Cause
If you use an async assertion, you must await the result.
Reason for rule
Calling an async assertion without awaiting the result will result in false positives, because the test framework cannot follow the result of the async operation (and any errors will be thrown away).
How to fix violations
To fix a violation of this rule, await the result of the async assertion.
Examples
Violates
using System;
using Xunit;
public class xUnit2021
{
[Fact]
public void TestMethod()
{
Assert.ThrowsAsync<DivideByZeroException>(async () => throw new DivideByZeroException());
}
}
Does not violate
using System;
using Xunit;
public class xUnit2021
{
[Fact]
public async Task TestMethod()
{
await Assert.ThrowsAsync<DivideByZeroException>(async () => throw new DivideByZeroException());
}
}