如何使用参数进行 Nunit 测试?

Che*_*her 1 c# nunit

我想做一个[Test]接收参数的操作,而不是使用[TestCase]该参数可以采用多个值。我似乎找不到办法做到这一点。

这是我想做的:

    [Test]
    static public void NUnitWriter(int errorCode)
    {
        Assert.AreEqual (0, errorCode);
    }
Run Code Online (Sandbox Code Playgroud)

该函数只接收一个错误代码,如果它不为 0(出现问题),则断言。

llo*_*oyd 5

要传递变量,请使用数据驱动测试

[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);
}  
Run Code Online (Sandbox Code Playgroud)

从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);
    }
Run Code Online (Sandbox Code Playgroud)