关于 NUnit: 是否有一种机制可以有条件地忽略特定的测试用例?
大致如下:
[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 对象动态生成要运行的测试用例列表。
因此,仅运行您需要/有效执行的测试,但您仍然有机会记录案例等。