如何跳过具有理论属性而不是事实的测试用例

Gkm*_*Gkm 7 xunit xunit.net

如何出于某种原因跳过数据驱动的测试用例?

我可以使用 Fact 跳过测试用例,但在对参数化测试用例使用跳过时会出现异常。
异常:Xunit.SkipException: 'Xunit.SkipException' 类型的异常被抛出。

[Theory, OwnData(@"Data\own.json"), Category("Own")]
        public void Transfer(OwnDataTestConfig own)
        {
            bool? result = null;
            Skip.IfNot(own.FeatureConfig.SameCurrencyOnly);
result = Own.VerifyTransfer(_basicActions, WebDriver, own);;
            Assert.True(result.Value);
        }
Run Code Online (Sandbox Code Playgroud)

如果 own.FeatureConfig.SameCurrencyOnly 为 false,则应跳过测试用例。

Rub*_*ink 6

xUnit 不会这样处理SkipException

你这样做的方式是通过一个Fact(Skip="Reason").

[Theory]也有一个Skip类似的属性。

即使从理论中的一个案例中抛出也会中止处理。

所以我建议你使用 anif (bad) return;来跳过处理。