小编Mar*_*ein的帖子

忽略超时属性

我使用控制台运行程序 (xUnit 2.4.1) 来执行一组测试。如果某些测试需要很长时间才能完成,它们应该会失败,但似乎Timeout忽略了属性。

这是我应该失败的简单测试方法:

[Fact(Timeout = 1000)]
public void ShouldTimeout()
{
    Thread.Sleep(15000);
}
Run Code Online (Sandbox Code Playgroud)

我使用选项执行 runner-parallel none以避免未定义的行为:

xunit.console.exe tests.dll -parallel none -method "Tests.TessClass.ShouldTimeout"
Run Code Online (Sandbox Code Playgroud)

我还添加[assembly: CollectionBehavior(DisableTestParallelization = true)]到我的程序集配置中。

但是,测试仍然成功完成并显示以下输出。

xUnit.net Console Runner v2.4.1 (64-bit Desktop .NET 4.5.2, runtime: 4.0.30319.42000)
  Discovering: tests
  Discovered:  tests
  Starting:    tests
  Finished:    tests
=== TEST EXECUTION SUMMARY ===
   tests  Total: 1, Errors: 0, Failed: 0, Skipped: 0, Time: 15,151s
Run Code Online (Sandbox Code Playgroud)

我错过了什么?并行化是否仍然没有被禁用,因此Timeout被忽略?

.net c# xunit.net

3
推荐指数
1
解决办法
638
查看次数

标签 统计

.net ×1

c# ×1

xunit.net ×1