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                
#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                

FlakyTest.XUnit

Build and test Coverage Status

Latest NuGet Version License

概述

您是否有某些不稳定的测试吗?您正在使用 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(不可靠的)进行过装饰?是否对代码或测试进行了更新并想检查它是否不再不可靠?那么,属性MaybeFixedFactMaybeFixedTheory可能正是您所需要的!

使用这些属性向测试运行程序发出信号,标记为这样的测试应运行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 已计算。
兼容的目标框架
包含的目标框架(在包中)
了解更多关于 目标框架.NET Standard

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