如何做一个带参数的Nunit测试

本文关键字:Nunit 测试 参数 何做一 | 更新日期: 2023-09-27 17:52:55

我想做一个接收参数的[Test],而不使用[TestCase],因为这个参数可以取多个值。我似乎找不到做这件事的方法。

我想这样做:

    [Test]
    static public void NUnitWriter(int errorCode)
    {
        Assert.AreEqual (0, errorCode);
    }

这个函数只接收一个错误代码,如果它不是0(发生了问题),则断言。

如何做一个带参数的Nunit测试

使用数据驱动测试传入变量

[DataSource(@"Provider=Microsoft.SqlServerCe.Client.4.0; Data Source=C:'Data'MathsData.sdf;", "Numbers")]
[Test]
static public void NUnitWriter()
{
    int x = 0
    int errorCode = Convert.ToInt32(TestContext.DataRow["ErrorCode"]);
    Assert.AreEqual (x, errorCode);
}  

从Xml传入

    [DataSource("Table:CSharpDataDrivenTests.xml#FirstTable")]
    [Test]
    static public void NUnitWriter()
    {
        int x = 0
        int errorCode = Convert.ToInt32(TestContext.DataRow["ErrorCode"]);
        Assert.AreEqual (x, errorCode);
    }