在NUnit' TestCase'中初始化参数属性

时间:2016-01-08 20:27:20

标签: c# testing nunit

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

[TestFixture]
public class SampleModel
{
    // stuff

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

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

1 个答案:

答案 0 :(得分:1)

不,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
    }
}