【问题标题】:XUnit ignore a test unless specifically triggeredXUnit 忽略测试,除非特别触发
【发布时间】:2021-03-31 14:43:53
【问题描述】:

在从 VS 触发 Run All Tests 时,我希望忽略 2 个 xunit 测试,并且仅在用户专门运行它/它们时运行。

我尝试过使用[Fact(Skip = "Long test, only run if needed, and run independently")](或任何消息),但是它显示警告,并且整体运行的结果是这样的黄色,即使其余的都通过了:

我在这里找到了可能允许通过 Resharper 完成此操作的解决方案,但是我们没有可用的 resharper(我知道......这很糟糕)。我也查看了SkippableFacts,但我相信这些会导致我得到与上图相同的结果。更不用说当您尝试自己运行它时,它也总是会跳过,您需要将其更改为常规的[Fact]

有没有人知道任何可能的方法来忽略测试,除非是有意、明确​​和单独触发的?任何其他尝试的途径都会非常有帮助,我很难过。谢谢!

【问题讨论】:

标签: c# xunit


【解决方案1】:

在 XUnit 库中,您可以使用带有 Skip 属性的 Fact 或 Theory(视情况而定)。

[Fact(Skip = "Reason")] or
[Theory(Skip ="Reason")]

这将跳过测试,整体结果应为绿色。它在我的 Asp.Net Core 应用程序中为我工作。

【讨论】:

  • 这没有回答问题,特别是要求能够在批量运行测试时跳过它,但在单独运行测试时不能 .当它们单独运行时,此答案将跳过它们。
猜你喜欢
  • 1970-01-01
  • 2018-10-13
  • 2013-10-08
  • 1970-01-01
  • 1970-01-01
  • 2014-12-25
  • 2021-10-28
  • 1970-01-01
  • 2019-11-16
相关资源
最近更新 更多