nunit/mbunit 参数化设置

nunit/mbunit parameterized SetUp

我想为测试的设置提供参数化数据。像这样:

[TestCase("1", "2")
[TestCase("a", "b")
public class TestFixture
{
    [SetUp]
    public void SetUp(string x, string y)
    {
        Console.WriteLine("Setup with {0}, {1}", x, y);
    }

    [Test]
    public void Test() {...}
}

但我只能设法获取传递给测试用例本身的参数。

我更喜欢 nunitmbunit 的解决方案,但对替代方案持开放态度(尚未决定使用哪个测试框架)。这最终用于一组 Selenium 系统测试,其中设置创建浏览器会话。

[编辑] 使用 NUnit 我可以让它工作:

[TestFixture("1", "2")]
[TestFixture("a", "b")]
public class Tests
{
    private string _x;
    private string _y;

    public Tests(string x, string y)
    {
        _x = x;
        _y = y;
    }

    [SetUp]
    public void SetUp()
    {
        Console.WriteLine("Setup with {0}, {1}", _x, _y);
    }

    [Test]
    public void Test()
    {

    }
}

[/edit]

这似乎符合我的需要,但我会将问题搁置几天,看看是否有其他建议。

使用 NUnit 我可以让它工作:

[TestFixture("1", "2")]
[TestFixture("a", "b")]
public class Tests
{
    private string _x;
    private string _y;

    public Tests(string x, string y)
    {
        _x = x;
        _y = y;
    }

    [SetUp]
    public void SetUp()
    {
        Console.WriteLine("Setup with {0}, {1}", _x, _y);
    }

    [Test]
    public void Test()
    {

    }
}