以编程方式跳过 NUnit 测试

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

有没有办法让 NUnit 测试结束并告诉测试运行者它应该被视为跳过/忽略,而不是成功或失败?

我这样做的动机是,我有一些不适用于某些情况的测试,但这在测试(或者可能是固定装置)开始运行之前无法确定。

显然,在这些情况下,我可以从测试返回并允许其成功,但是(a)这似乎是错误的,并且(b)我想知道测试已被跳过。

我知道 [Ignore] 属性,但这是已编译的。我正在寻找一个运行时的、编程的等价物。比如:

if (testNotApplicable)
    throw new NUnit.Framework.IgnoreTest("Not applicable");

或者以编程方式跳过测试是错误的吗?如果是这样,我应该做什么?

.net unit-testing nunit
2个回答

2
投票

我有一个

TestInit()
TestInitialize
方法,其中存在如下条件:

    //This flag is the most important.False means we want to just ignore that tests
    if (!RunFullTests)
        Assert.Inconclusive();

RunFullTests 是位于常量类中的全局布尔变量。如果我们将其设置为 false,则整个测试类将被忽略,并且该类下的所有测试都将被忽略。

我在进行集成测试时使用它。

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