初始化 NUnit 'TestCase' 属性中的参数
Initializing the argument in NUnit 'TestCase' attribute
我没有在他们的文档中看到这个,但我想做这样的测试:
[TestFixture]
public class SampleModel
{
// stuff
[TestCase(new DBContext(), 502)]
public IQueryable<SomeModel> GetPrograms(DBContext dbContext, int? programId)
{
// Assert stuff
}
}
是否可以在 TestCase
属性中初始化参数?
不,这对于 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
}
}
我没有在他们的文档中看到这个,但我想做这样的测试:
[TestFixture]
public class SampleModel
{
// stuff
[TestCase(new DBContext(), 502)]
public IQueryable<SomeModel> GetPrograms(DBContext dbContext, int? programId)
{
// Assert stuff
}
}
是否可以在 TestCase
属性中初始化参数?
不,这对于 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
}
}