我正在帮助一个大型代码库,我发现如果它们并行运行,[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/