在这篇文章中,我们探讨了如何使用 xUnit 的 [Theory]
属性来运行参数化测试。通过示例展示了如何使用 [InlineData]
、[MemberData]
和 [ClassData]
提供不同的数据源,从而简化测试代码并提高测试覆盖率。这些方法有助于在 .NET 应用程序中进行更有效的单元测试。
示例 1:使用 [InlineData]
这是直接在属性中提供数据的最简单方法。
using Xunit;
public class MathTests
{
[Theory]
[InlineData(1, 1, 2)]
[InlineData(2, 3, 5)]
[InlineData(10, -5, 5)]
public void Add_ReturnsCorrectSum(int a, int b, int expectedSum)
{
// Arrange
var math = new Math();
// Act
var result = math.Add(a, b);
// Assert
Assert.<