【问题标题】:Is there a way to *prevent* ReSharper from running an assembly's unit tests in parallel?有没有办法*防止* ReSharper 并行运行程序集的单元测试?
【发布时间】:2012-04-04 18:28:54
【问题描述】:

我在单元测试设置中看到“并行运行多达 1|2 个程序集”的选项,但将其设置为“1”似乎仍会并行执行单个程序集的测试。有没有办法禁用完全并行执行?

这是 ReSharper 6.1。

【问题讨论】:

  • 你为什么要这个?
  • 有时我需要调试单元测试(可能是因为测试不够简单,测试不止一件事,等等等等)而且我个人觉得在其他的时候很难调试代码线程并行运行。这可能是一个原因。
  • 我在调试器之外运行多个单元测试。如果我想调试一个特定的单元测试,我只启动那个单元测试。
  • @surfen 哎呀。当我要测试的代码本身具有并发性时,我发现很难调试单元测试代码。当然,这是一个不同的问题。
  • 我的项目有一堆在数据库上创建记录的集成测试(在拆解时会被清理)。目前我们不希望仅为测试创建隔离事务,因此并行测试会随机破坏结果。

标签: c# unit-testing resharper


【解决方案1】:

您可以尝试在此处查看堆栈溢出答案How to run NUnit test fixtures serially?

但是,您这样做的需要似乎受到了测试依赖项的推动。访问公共资源的需要或一个测试的输出需要成为另一个测试的输入。如果是这种情况,请考虑重构您的测试/代码以删除依赖项。这通常可以通过使用模拟框架(Moq、RhinoMocks 等)来完成。

【讨论】:

  • @BartRead 您的“下面的答案”在哪里?这似乎是你在这个帖子中唯一的评论
猜你喜欢
  • 1970-01-01
  • 2011-08-29
  • 2016-03-23
  • 2010-12-05
  • 1970-01-01
  • 2021-08-23
  • 2018-01-12
  • 2014-01-03
  • 2023-03-10
相关资源
最近更新 更多