gpt4 book ai didi

c# - NUnit 和 TestCaseAttribute,可以交叉连接参数吗?

转载 作者:可可西里 更新时间:2023-11-01 08:24:17 24 4
gpt4 key购买 nike

我有一个测试各种情况的单元测试,如下所示:

public void Test1(Int32 a, Int32 b, Int32 c)

假设我想创建没有循环的测试代码,所以我想使用 TestCase 来指定这样的参数:

[TestCase(1, 1, 1)]
public void Test1(Int32 a, Int32 b, Int32 c)

有这个属性的我有没有可能这样说:

  • 对于第一个参数,这是一组值
  • 对于第二个参数,这是一组值
  • 对于第三个参数,这是一组值
  • 现在,测试以上的所有组合

即。像这样:

[TestCase(new[] { 1, 2, 3, 4 }, new[] { 1, 2, 3, 4 }, new[] { 1, 2, 3, 4 })]
public void Test1(Int32 a, Int32 b, Int32 c)

看起来不像,但也许我忽略了什么?

最佳答案

NUnit 提供 Values可以与Combinatorial一起使用的属性实现此目的的属性:

[Test, Combinatorial]
public void Test1(
[Values(1,2,3,4)] Int32 a,
[Values(1,2,3,4)] Int32 b,
[Values(1,2,3,4)] Int32 c
)
{
...
}

关于c# - NUnit 和 TestCaseAttribute,可以交叉连接参数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1612118/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com