.net - 以编程方式跳过 NUnit 测试

标签 .net unit-testing nunit

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

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

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

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

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

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

最佳答案

Assert.Ignore();

正是您所要求的,尽管还有:

Assert.Inconclusive();

关于.net - 以编程方式跳过 NUnit 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4095504/

相关文章:

java - Jacoco 只为单个测试类生成覆盖率报告

c# - NUnit - 读取和写入文件的程序集

c# - 确定 FTP 目录是否存在的代码突然停止工作

C# - 写入 CSV 文件时格式化列(单元格格式)

unit-testing - 使 os.Stat 抛出错误,使得 IsNotExist 返回 false

scala - 光滑 3 : How to implement repository pattern with transactions?

c# - SqlDataReader 显示 InvalidCastException(C# Windows 窗体)

c# - .NET 检查两个 IEnumerable<T> 是否具有相同的元素

c# - Nunit - TestContext.CurrentContext.Test 不工作

c# - 对于在单独线程 (Task.Run) 上运行的异步方法,MustHaveHappened 断言总是失败