相关疑难解决方法(0)

Visual Studio 2012可以并行运行单元测试吗?

Visual Studio 2012可以并行运行单元测试吗?Visual Studio 2010有一个选项可以执行此操作:

http://blogs.msdn.com/b/vstsqualitytools/archive/2009/12/01/executing-unit-tests-in-parallel-on-a-multi-cpu-core-machine.aspx

...但我在Visual Studio 2012中找不到类似的东西.我尝试了参考文章中描述的过程,但即使加载相同的测试设置文件,我也无法并行运行测试.

.net parallel-processing unit-testing visual-studio

15
推荐指数
1
解决办法
8996
查看次数

在MSTest中,如何指定某些测试方法不能彼此并行运行?

我有大量的集成测试来测试网站服务器。大多数这些测试都可以并行运行。但是,我有一些更改设置,并且在并行运行时可能会导致彼此失败。

作为一个简化的示例,假设我进行了以下测试:

TestPrice_5PercentTax
TestPrice_10PercentTax
TestPrice_NoTax
TestInventory_Add10Items
TestInventory_Remove10Items
Run Code Online (Sandbox Code Playgroud)

库存测试不会互相妨碍,并且不受价格测试的影响。但价格测试将改变Tax设置,因此,如果两者5并行10运行,最终可能会在完成10之前更改设置,并且会失败,因为它看到了 10% 的税,而不是预期的 5%。55

我想为三个价格测试定义一个类别,并说它们可能不会同时运行。它们可以与任何其他测试同时运行,但不能与其他价格测试同时运行。MSTest 有办法做到这一点吗?

.net c# mstest

11
推荐指数
1
解决办法
3627
查看次数

并行运行单元测试

有没有人知道是否有办法在Visual Studio中并行运行不同的[TestMethods]?

visual-studio-2008

9
推荐指数
2
解决办法
2377
查看次数

Visual Studio 2017 15.5并行单元测试代码覆盖率

我们已经并行运行了多年的单元测试(有和没有代码覆盖),遵循以下说明: 如何并行运行单元测试(MSTest)? 在这里: 并行运行单元测试

但是,Visual Studio 2017的最新更新(版本15.5.0或15.5.1及更高版本)似乎打破了这一点,每当我尝试使用自定义测试设置文件并执行代码覆盖时,我现在都会收到以下错误分析:

[12/29/2017 1:35:10 PM Error] Microsoft.VisualStudio.TestPlatform.ObjectModel.SettingsException: Data collectors configured via run settings are not supported with embedded test settings. Please see https://aka.ms/vstest-configure-datacollector for more information. Run settings:
Run Code Online (Sandbox Code Playgroud)

我已在另一个系统上更新,重新启动并验证了此问题.

当恢复到默认设置(没有自定义测试设置文件)并使用VS 2015更新2中引入的"并行运行测试"按钮时,它似乎只是忽略按钮设置并连续运行测试(无论您是否进行代码覆盖) ).

我查看了错误中提供的链接(https://github.com/Microsoft/vstest-docs/blob/master/docs/analyze.md),但它没有帮助澄清问题,除了可能表明是的,改变了.

如果我关闭自定义设置文件,测试运行得很好,但运行时间大约是7倍,这非常令人沮丧.

如何在VS 2017 15.5+中使用并行单元测试执行?

c# unit-testing vs-unit-testing-framework visual-studio-2017

7
推荐指数
0
解决办法
1196
查看次数

如何设置各个 MSTest 测试方法的区域性?

最近发现由于未指定InvariantCulture何时将文本解析为数字而导致的错误后,我想加强我们的单元测试,以便他们能够发现问题。我编写了一个新测试,将当前区域性更改为具有不同数字格式的区域性,重新运行现有测试方法之一,然后将区域性设置回来。不幸的是,文化的变化也影响了其他测试方法。有没有办法做到这一点,使测试不相互作用?
我确实发现将文化设置测试放在文件的最后可以“解决”问题,但我讨厌依赖测试顺序,因为它不能得到保证。在下面的示例中,系统文化为"en-EN"TestMethod1和 的情况下TestMethod2,如果单独运行,将会成功。如果我一起运行所有方法,它们都会失败。

   [TestClass]
   public class UnitTest1
   {
      [TestMethod]
      public void TestMethodGerman()
      {
         var originalCulture = Thread.CurrentThread.CurrentCulture;
         Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE");
         TestMethod1();
         Thread.CurrentThread.CurrentCulture = originalCulture;
      }
      [TestMethod]
      public void TestMethod1()
      {
         double value = Double.Parse("3.00");
         Assert.AreEqual(value, 3.0);
      }

      [TestMethod]
      public void TestMethod2()
      {
         double value = Double.Parse("4.00");
         Assert.AreEqual(value, 4.0);
      }
   }
Run Code Online (Sandbox Code Playgroud)

c# unit-testing mstest cultureinfo

5
推荐指数
1
解决办法
2519
查看次数