在NUnit中初始化参数';测试用例';属性

本文关键字:测试用例 属性 参数 NUnit 初始化 | 更新日期: 2023-09-27 18:29:30

我还没有在他们的文档中看到这一点,但我想做一个这样的测试:

[TestFixture]
public class SampleModel
{
    // stuff
    [TestCase(new DBContext(), 502)]
    public IQueryable<SomeModel> GetPrograms(DBContext dbContext, int? programId)
    {
        // Assert stuff
    }
}

是否可以初始化TestCase属性中的参数?

在NUnit中初始化参数';测试用例';属性

否,这对于TestCase属性是不可能的。C#属性只接受常量参数。

但这是可能的TestCaseSource属性:

[TestFixture]
public class SampleModel
{
    // stuff
    static object [] GetProgramsCases {
        new object[] { new DBContext(), 502 }
    };

    [TestCaseSource("GetProgramsCases")]
    public IQueryable<SomeModel> GetPrograms(DBContext dbContext, int? programId)
    {
        // Assert stuff
    }
}