c# - Visual Studio 2019 : Is there any way to prevent parallel execution of test methods in a [TestClass]?

标签 c# mstest

我正在帮助一个大型代码库,我发现如果它们并行运行,[TestMethod] 执行可能会相互干扰。我知道这是一种不好的做法。

有什么方法(比如 C# 属性)可以防止 [TestClass] 中所有测试的并行执行?

测试在一些环境中自动运行,包括 Azure DevOps。我正在寻找一种方法来在 C# 代码中解决这个问题,并避免使用依赖于测试运行器的设置。

更新和澄清#1

我知道我们在 2009 年就有这样的问题:

MSTest executing all my tests simultaneously breaks tests - what to do

快进 11 年到 2020 年,我希望 visual studio 产品系列是同名的不同事物。

更新和澄清#2

这不是 NUnit 问题。 这道题的重点是MStest。

更新和澄清#3

请注意,这是一个特定于产品 (MSTest) 的问题。 我知道有很多与 NUnit 等或旧版本的 Visual Studio 相关的类似问题。

众所周知,Visual Studio 2019 引入了许多测试改进。这就是我要问的。

最佳答案

在方法/类/程序集上使用 DoNotParallelize 属性,或将 DisableParallelization 放入您的 .runsettings 文件中。

引用,以及更多关于并行化的信息:https://devblogs.microsoft.com/devops/mstest-v2-in-assembly-parallel-test-execution

关于c# - Visual Studio 2019 : Is there any way to prevent parallel execution of test methods in a [TestClass]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61781327/

相关文章:

c# - 如何故意使所有 C# 单元测试失败

c# - 如何将图像设置为现有 pdf 文件中的 pdf 字段?

c# - Entity Framework 递增列值而不查询它

c# - UnitTests - Moq - 如何从与 Setup() 中的参数匹配的 Moq 中返回 () 对象

c# - 抛出未处理的异常时未调用 MsTest TestCleanup 方法

visual-studio - VS2008 UnitTesting - 与 Office 应用程序对象(PowerPoint 等)分离的 RCW

unit-testing - MSTest.exe 无法加载 ADO.NET 数据提供程序?

C#//vs///注释

c# - 强类型数据集大放异彩

c# - 抛出异常与检查 null,以获取 null 参数