【问题标题】:Cancel tests (with warning) from取消测试(带有警告)
【发布时间】:2012-06-21 14:45:59
【问题描述】:

我的项目有一些单元测试。它们都依赖于一些我无法控制的外部服务。该服务经常停机(回想一下 2008 年左右的 Twitter)。目前,如果服务关闭,则测试失败,并且无法构建持续集成服务器。我很反感这个。我想忽略依赖此设置的测试,打印警告。

[BeforeScenario]

try
{
    connect(server)
}
catch (Exception x)
{
    throw new Exception(String.Format("Failed to connect to server {0}", server), x);
}

我该怎么做?我今天碰巧在使用 SpecFlow,但我也想知道如何从 NUnit 中做到这一点。

以下是我目前拥有的。没关系。测试被忽略,但构建仍然失败。

[BeforeScenario]

try
{
    connect(server)
}
catch (Exception x)
{      
    throw new SpecFlowCancelTests(String.Format("Failed to connect to server {0}", server), x);
}

【问题讨论】:

    标签: c# visual-studio unit-testing nunit mstest


    【解决方案1】:

    您可以使用Assert.Inconclusive("message")Assert.Ignore() 实用方法:

    Assert.Inconclusive 方法表示无法进行测试 用可用的数据完成。应该在情况下使用 使用不同数据的另一次运行可能会运行到完成, 成功或失败的结果。

    Assert.Ignore 方法为您提供了动态处理的能力 导致在运行时忽略测试或套件。它可能被称为 测试、设置或夹具设置方法。我们建议您使用此 仅在个别情况下。类别设施提供更多 广泛包含或排除测试,或者您可以选择简单地 将在不同场合运行的测试分成不同的程序集。

    有用的链接: - What is the Inconclusive Test Condition?

    【讨论】:

    • 谢谢,这正是我想要的!
    猜你喜欢
    • 1970-01-01
    • 2017-08-31
    • 2010-09-18
    • 2022-08-18
    • 1970-01-01
    • 2016-07-05
    • 2015-10-01
    • 1970-01-01
    • 2021-04-16
    相关资源
    最近更新 更多