有条件地忽略 NUnit 测试用例

问题描述 投票:0回答:2

关于 NUnit: 是否有一种机制可以有条件地忽略特定的测试用例?

大致如下:

[TestCase(1,2)]
[TestCase(3,4, Ignore=true, IgnoreReason="Doesn't meet conditionA", Condition=IsConditionA())]
public voidTestA(int a, int b)

是否有任何这样的机制,或者是创建单独的测试用例并在测试主体中调用

Assert.Ignore()
的唯一方法?

nunit
2个回答
13
投票

您可以将以下内容添加到测试正文中:

if (a==3 && b == 4 && !IsConditionA()) { Assert.Ignore() }

您必须对每个您想要忽略的测试用例执行此操作。 在这种情况下,您不会复制测试主体,但您可以为每个被忽略的测试用例添加它。


0
投票

我认为最大限度地减少测试体内的条件逻辑有助于测试可读性。但是您绝对可以使用测试上的 testcasesource 属性动态生成测试用例,并在单独的方法中使用 nunit testcasedata 对象动态生成要运行的测试用例列表。

因此,仅运行您需要/有效执行的测试,但您仍然有机会记录案例等。

http://www.nunit.org/index.php?p=testCaseSource&r=2.6.4

© www.soinside.com 2019 - 2024. All rights reserved.