gpt4 book ai didi

unit-testing - 无法在 Visual Studio 中使用 XUnit 并行运行测试

转载 作者:行者123 更新时间:2023-12-01 05:09:35 26 4
gpt4 key购买 nike

我有两个类 TestClass1, TestClass2

我在我的测试项目的 AssemblyInfo.cs 文件中通过程序集设置了 MaxParallel 线程:
[程序集:Xunit.CollectionBehaviorAttribute(MaxParallelThreads = 4)]
引用 Set maximum parallel threads

我已经安装了 xunit-2.0.0-beta4-build2738(Prerelease)。还安装了 Xunit runner 来查找测试。

根据我的知识和研究,Xunit 不会在同一个集合中并行运行测试。 引用 Using test collections in xUnit.net v2这就是为什么对于下面的两个类我都使用了不同的集合。

Visual Studio 2013 找到了我的测试,但是当我运行所有测试时,它仍然按顺序运行测试。我希望它们并行运行。

如果有人可以提供帮助,那就太好了!

我的代码如下:
命名空间 1

namespace name1
{
public class MFixture
{

}

[CollectionDefinition("Test1")]
public class CollectionClass : ICollectionFixture<MFixture>
{

}

[Collection("Test1")]
public class TestClass1
{
// variables
public TestClass1()
{
//code
}

[Fact]
public void method1()
{
//code
}

[Fact]
public void method2()
{
//code
}
}
}

命名空间 2
namespace name2
{
public class MFixture1
{

}

[CollectionDefinition("Test2")]
public class CollectionClass1 : ICollectionFixture<MFixture1>
{

}

[Collection("Test2")]
public class TestClass2
{
// variables
public TestClass2()
{
//code
}

[Fact]
public void method12()
{
//code
}

[Fact]
public void method22(){
{
//code
}
}
}

其他引用
How to run Selenium tests in parallel with xUnit
XUnit.net attributes
XUnit.net issues

最佳答案

Visual Studio 似乎不支持并行运行测试。我还没有用您询问的确切版本进行测试,但已找到 other comments说的一样多。 As suggested ,从命令行运行应该可以工作。

对我来说,我使用的是 VS2015、dnx 1.0.0-rc1-final、xunit 2.1.0、xunit.runner.dnx 2.1.0-rc1-build204 并且可以确认 VS 测试资源管理器是愚蠢的。

根据 the docs :

By default, each test class is a unique test collection.



因此,考虑到像这样一些人为的“测试”,应该很容易看出它们是否并行运行:

image

视觉工作室:

image

命令行:

image

关于unit-testing - 无法在 Visual Studio 中使用 XUnit 并行运行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25919929/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com