FlakyTest.XUnit 2.4.10
dotnet add package FlakyTest.XUnit --version 2.4.10
NuGet\Install-Package FlakyTest.XUnit -Version 2.4.10
此命令适用于 Visual Studio 的包管理器控制台,因为它使用了 NuGet 模块的 Install-Package 版本。
<PackageReference Include="FlakyTest.XUnit" Version="2.4.10" />
对于支持 PackageReference 的项目,将此 XML 节点复制到项目文件中以引用包。
paket add FlakyTest.XUnit --version 2.4.10
NuGet 团队不为此客户端提供支持。请联系其 维护者 以获得支持。
#r "nuget: FlakyTest.XUnit, 2.4.10"
#r 指令可用于 F# Interactive 和 Polyglot Notebooks。将其复制到交互式工具或脚本的源代码中,以引用包。
// Install FlakyTest.XUnit as a Cake Addin #addin nuget:?package=FlakyTest.XUnit&version=2.4.10 // Install FlakyTest.XUnit as a Cake Tool #tool nuget:?package=FlakyTest.XUnit&version=2.4.10
NuGet 团队不为此客户端提供支持。请联系其 维护者 以获得支持。
FlakyTest.XUnit
概述
您是否有某些不稳定的测试吗?您正在使用 XUnit 吗?您想在测试被视为失败之前重试几次不稳定的测试?当然!(您可能实际上应该修复测试使其不再是失败的,但有时您真的没有时间!)
如果您仍想方便地标记一个或两个测试(但不超过这些!)为不稳定的,那么这个包可能对您有用。
用法
FlakyFact
/ FlakyTheory
使用此功能的方法几乎不能再简单了。如果您已经习惯了用 [Fact]
装饰测试方法,那么您几乎就成功了!
示例
using FlakyTest.XUnit.Attributes;
[FlakyFact("this test is heckin flaky my dude, follow up to fix this in JIRA-1234", 42)]
public async Task WhenDoingThing_ShouldHaveThisResult()
{
// your test implementation which is sometimes flaky
}
[FlakyTheory("same idea as flaky fact, just using a theory. follow up to fix this in JIRA-1234", 42)]
[InlineData(true)]
[InlineData(false)]
public async Task WhenDoingThing_ShouldHaveThisResult(bool isDoots)
{
// your test implementation which is sometimes flaky
}
项目 需要 第一个字符串参数 flakyExplanation
不为 null/空... 因为您实际上根本不应该使用它。这可以用来描述为什么测试是不稳定的,也许可以留下一个注释和票据以便后续修复测试的不稳定性。
第二个参数指示在测试运行器实际报告为失败之前,测试可以“失败”多少次。这里(撰写此文档时)的默认值是 5,这意味着测试可以在运行器将其报告为失败之前失败 5 次。如果测试在第一次、第四次或任何中间成功,则立即标记为成功。
MaybeFixedFact
/ MaybeFixedTheory
您是否之前将测试标记为Flaky
(不可靠的)进行过装饰?是否对代码或测试进行了更新并想检查它是否不再不可靠?那么,属性MaybeFixedFact
和MaybeFixedTheory
可能正是您所需要的!
使用这些属性向测试运行程序发出信号,标记为这样的测试应运行x
次,以考虑它们为“成功”。
如果x
为10,测试将运行最多10次。如果遇到失败,运行程序将提前退出,直到x
,一旦达到x
且所有测试均通过,测试将被视为“已通过”。此x
值是可配置的,但默认为10(编写此文档时)。
示例
using FlakyTest.XUnit.Attributes;
[MaybeFixedFact(42)]
public async Task WhenDoingThing_ShouldHaveThisResult()
{
// your test implementation which was sometimes flaky
// checking now that it's no longer flaky by running
// the test 42 times before (and they must all be individually passing) being considered a passed test
}
[FlakyTheory]
[InlineData(true)]
[InlineData(false)]
public async Task WhenDoingThing_ShouldHaveThisResult(bool isDoots)
{
// your test implementation which was sometimes flaky
}
产品 | 版本 兼容和额外的计算目标框架版本。 |
---|---|
.NET | |
.NET Core | |
.NET Standard | |
MonoAndroid | |
MonoMac | monomac 已计算。 |
MonoTouch | monotouch 已计算。 |
Tizen | tizen60 已计算。 |
Xamarin.iOS | xamarinios 已计算。 |
Xamarin.Mac | xamarinmac 已计算。 |
Xamarin.TVOS | xamarintvos 已计算。 |
Xamarin.WatchOS | xamarinwatchos 已计算。 |
-
.NETStandard 2.1
- xunit.core (>= 2.4.0)
NuGet 包
此包不被任何 NuGet 包使用。
GitHub 仓库
此包不被任何流行的 GitHub 仓库使用。
版本 | 下载 | 最后更新 |
---|---|---|
2.4.10 | 38,039 | 1/30/2023 |
2.3.13 | 38,552 | 1/25/2023 |
2.2.5 | 280 | 1/23/2023 |
2.1.5 | 294 | 1/21/2023 |
2.0.4 | 289 | 1/15/2023 |
1.0.5 | 336 | 1/8/2023 |
1.0.4-prerelease | 132 | 1/8/2023 |
1.0.1-prerelease | 128 | 1/8/2023 |