如何使用多个参数调用测试方法(NUnit)

B0r1

我的测试方法如下所示:

public static List<Something> Generator() {
return A.GenerateObjects();
}

[Test, TestCaseSource(nameof(Generator))]
    public void DoSomething(Something abc) {/*do something*/}

这段代码工作得很好,并为列表中的每个对象生成一个单元案例。

我想在方法中包含另一个参数,例如:

public void DoSomething(Something abc, string def)

我用这些行尝试过,但没有用:

public static object[] Case =
    {
        new object[]
        {
            A.GenerateObjects(),
            someStrings
        }
    };

也许使用循环函数迭代列表而不是直接调用方法 (GenerateObjects())?我也不明白 Nunit 如何仅使用 TestCaseSource(nameof(Generator)) 直接识别列表中的对象

提前致谢!

查理

您的初始测试采用一个类型为 的参数Something显然,A.GenerateObjects()返回这些对象的某种 IEnumerable - 你没有显示细节。因为测试是一种单参数方法,所以有效。NUnit 为单参数方法提供了一种特殊情况,它非常宽容,将接受对象数组或所需类型的数组,并为您自己生成测试用例。

但是,对于多个参数,由您自己从您的方法返回一组测试用例。您可能知道,C# 中方法object[]的参数采用包含参数的形式,例如new object[] { aSomething, "astring" }.

假设您有需要与每个对象关联的特定字符串,则由您来进行关联。如何做到这一点取决于您要尝试执行的操作的详细信息。

您是否有一个字符串列表,希望将其与对象列表一对一关联?在这种情况下,停止使用[TestCaseSource]和使用[ValueSource][Values]测试方法的每个参数。应用于[Sequential]方法使 NUnit 将对象和字符串一一匹配。这是一个例子...

[Test, Sequential]
public void DoSomething(
    [ValueSource(typeof(A), nameof(GetObjects)] Something abc,
    [Values("string1", "string2", "string3")] string def)
{/*do something*/}

这只是一种方法。我不得不对您有哪些现成的数据以及您正在尝试做什么进行了大量猜测。如果这种方法对您不起作用,请填写一些空白,我将编辑答案。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用参数调用Nunit -Check方法

来自分类Dev

如何在要使用NUnit测试的方法内部模拟方法调用?

来自分类Dev

如何使用多个参数从C / C ++调用Java方法?

来自分类Dev

MSVS。执行测试时,如何告诉NUnit使用/ noshadow参数?

来自分类Dev

OCMock:使用NSDictionary参数调用测试方法

来自分类Dev

PHPUnit如何通过多个调用特定答案的特定参数测试特定方法

来自分类Dev

如何使用多个参数调用ManagementObject?

来自分类Dev

如何断言使用多个参数调用函数

来自分类Dev

如何使用多个参数调用合约函数?

来自分类Dev

如何使Xunit测试类并在Nunit中使用构造函数参数(如TestFixture)与参数?

来自分类Dev

如何断言是否已使用nunit调用了方法

来自分类Dev

如何断言是否已使用nunit调用了方法

来自分类Dev

如何测试使用rspec调用的方法?

来自分类Dev

如何调用在单元测试中注入参数的方法?

来自分类Dev

使用NUnit从指定目录中删除多个文件的单元测试方法

来自分类Dev

如何在NUnit ConsoleRunner 3.4.1中使用--test = NAMES参数运行单个测试

来自分类Dev

如何在使用NUnit的测试用例中将变量用作参数

来自分类Dev

测试是否使用某些参数调用了该方法

来自分类Dev

如何并行调用多个 API 进行负载测试(使用 Gatling)?

来自分类Dev

如何使用属性参数调用方法

来自分类Dev

如何使用Swift使用多个参数在ViewDidLoad中调用函数

来自分类Dev

如何使用NUnit测试MvvmCross MvxCommand <int>

来自分类Dev

异步 NUnit 测试方法通过后等待调用

来自分类Dev

如何更改 TestCaseData Nunit 的测试用例参数

来自分类Dev

如何使用解释为多个参数的var调用脚本

来自分类Dev

PostgreSQL ecpg:如何使用多个out参数调用函数

来自分类Dev

如何使用in参数直接调用带有ref参数的方法

来自分类Dev

使用参数调用方法

来自分类Dev

如何使用依赖于已运行的TestSetup方法的NUnit测试用例?

Related 相关文章

  1. 1

    使用参数调用Nunit -Check方法

  2. 2

    如何在要使用NUnit测试的方法内部模拟方法调用?

  3. 3

    如何使用多个参数从C / C ++调用Java方法?

  4. 4

    MSVS。执行测试时,如何告诉NUnit使用/ noshadow参数?

  5. 5

    OCMock:使用NSDictionary参数调用测试方法

  6. 6

    PHPUnit如何通过多个调用特定答案的特定参数测试特定方法

  7. 7

    如何使用多个参数调用ManagementObject?

  8. 8

    如何断言使用多个参数调用函数

  9. 9

    如何使用多个参数调用合约函数?

  10. 10

    如何使Xunit测试类并在Nunit中使用构造函数参数(如TestFixture)与参数?

  11. 11

    如何断言是否已使用nunit调用了方法

  12. 12

    如何断言是否已使用nunit调用了方法

  13. 13

    如何测试使用rspec调用的方法?

  14. 14

    如何调用在单元测试中注入参数的方法?

  15. 15

    使用NUnit从指定目录中删除多个文件的单元测试方法

  16. 16

    如何在NUnit ConsoleRunner 3.4.1中使用--test = NAMES参数运行单个测试

  17. 17

    如何在使用NUnit的测试用例中将变量用作参数

  18. 18

    测试是否使用某些参数调用了该方法

  19. 19

    如何并行调用多个 API 进行负载测试(使用 Gatling)?

  20. 20

    如何使用属性参数调用方法

  21. 21

    如何使用Swift使用多个参数在ViewDidLoad中调用函数

  22. 22

    如何使用NUnit测试MvvmCross MvxCommand <int>

  23. 23

    异步 NUnit 测试方法通过后等待调用

  24. 24

    如何更改 TestCaseData Nunit 的测试用例参数

  25. 25

    如何使用解释为多个参数的var调用脚本

  26. 26

    PostgreSQL ecpg:如何使用多个out参数调用函数

  27. 27

    如何使用in参数直接调用带有ref参数的方法

  28. 28

    使用参数调用方法

  29. 29

    如何使用依赖于已运行的TestSetup方法的NUnit测试用例?

热门标签

归档