提问人:user384884 提问时间:11/8/2023 更新时间:11/9/2023 访问量:69
Xunit 跳过测试
Xunit Skip Tests
问:
你能告诉我是否可以根据 json 文件中布尔变量的值以某种方式跳过测试执行,skip 属性不与条件绑定,并且反射看不到这个属性,只是 if-return 不合适。
我甚至不需要测试运行,所以如果它只是返回成功执行(不执行正文),它不适合我
Skip 属性, 测试主体中的 If-Return 反射
根据布尔变量的值跳过测试,但它不起作用
答:
0赞
Peter Csala
11/8/2023
#1
据我所知,xUnit 目前没有为此提供内置解决方案。但是有第三方库,如 Xunit.SkippableFact
,如果满足某些条件,它允许您在运行时跳过某些测试。
[SkippableFact]
public void Given_When_Then()
{
Skip.If(EvaluateYourDynamicCondition(), "It is skipped based xyz.json");
// Arrange
// ...
}
SkippableTheory
如果使用参数化单元测试 (PUT),则也受支持。
更新 #1
在撰写本文时尚未发布的 xUnit V3 中,将支持动态可跳过性。
[Fact]
public void Given_When_Then()
{
Assert.SkipWhen(EvaluateYourDynamicCondition(), "It is skipped based xyz.json");
// Arrange
// ...
}
更新 #2
这个库不能按我的需要工作,测试仍在执行,它们只是抛出异常
它确实对我有用。
评论
0赞
user384884
11/8/2023
也许有一种方法可以在没有第三方库的情况下自己做类似的事情,也许使用 trait,或者我不知道,使用你自己的属性,等等??
0赞
Peter Csala
11/8/2023
@user384884,如果通过继承和/或属性很容易解决这个问题,那么 xunit v3 和第三方库将通过这种方式公开此功能。
0赞
user384884
11/9/2023
这个库不能按我的需要工作,测试仍在执行,它们只是抛出异常
0赞
Peter Csala
11/9/2023
@user384884 它应该在没有任何额外设置的情况下工作。我已经更新了帖子,向您展示它就像一个魅力。
评论