有条件地忽略 nunit 测试用例

Conditionally ignore nunit testcase

W.r.t。尼尼特; 是否有一种机制可以有条件地忽略特定的测试用例?

行中的内容:

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

那么有没有这样的机制或者这样做的唯一方法是为每个案例创建单独的测试并在测试主体中做Assert.Ignore?

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

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

你必须为每个你想忽略的测试用例做这件事。 在这种情况下你不会复制测试体,但你会为每个被忽略的测试用例添加它。

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

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

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