c# - 初始化 NUnit 'TestCase' 属性中的参数

标签 c# testing nunit

我没有在他们的文档中看到这个,但我正在寻找这样的测试:

[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
    }
}

关于c# - 初始化 NUnit 'TestCase' 属性中的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34685506/

相关文章:

c# - 如何从 onchange 事件调用 javascript 中的两个函数

c# - 我可以将一个大的 dll 分成每个类 1 个 dll 吗?

c# - MVVM 灯 : Pass object from view to viewmodel

c# - 如何将 TestServer 输出记录到测试控制台

c# - NUnit 在运行 session 期间以编程方式获取结果

c# - 如何将 NUnit 属性应用于程序集

c# - 创建没有 lambda 的任务

java - 如何测试 Hibernate HQL 查询?

shell - 如何检索 Eggplant shell 脚本命令的输出

php - 设置一个支持 PHP 和 SQL 的私有(private)本地服务器