【问题标题】:Resharper Unit Test Runner significantly slower than NUnit consoleResharper Unit Test Runner 明显慢于 NUnit 控制台
【发布时间】:2010-11-28 14:50:01
【问题描述】:

Resharper Unit Test Runner 的运行速度明显慢于 nunit-console 或 nunit gui。

例如,通过 nunit-console 执行 3800 个测试只需 60 多秒,但在 Resharper 单元测试运行器中运行相同的测试需要 5 多分钟。为什么会有如此显着的差异?

由于我们的测试代码库已显着增长,这确实开始拖慢我们的速度。有没有其他人遇到过类似的问题?你是怎么处理的?

Resharper Visual Studio 集成非常好,但是我们可能需要求助于其他东西。

【问题讨论】:

  • 根据我的经验,大多数事情在使用 Resharper 时都会变慢,这真的很遗憾,因为除此之外,它还是一个很棒的插件...

标签: visual-studio unit-testing nunit resharper


【解决方案1】:

我遇到了同样的问题,我切换到TestDriven.Net,速度很快。

【讨论】:

  • +1 表示 Jamie Cansdale 的 TestDriven.NET。它是一款超级软件。但是,我发现 Resharper 的测试运行器在运行较小的测试套件时令人满意。
  • vs2010 内部测试运行器也非常快。太糟糕了,它不适用于 nunit :(
  • 只是我的 2cents,但除了 TestDriven.Net,还有 NCrunch 可以用于此类事情,恕我直言,它是 resharper 旁边的必备工具。
【解决方案2】:

我不认为 Resharper 的目标是提供一个实用程序来从 Visual Studio 中执行整个测试套件。这通常是运行持续集成工具(例如从 CruiseControl 启动的 NUnit)的构建服务器或测试套件服务器的目标

Resharper 单元测试运行器似乎通过运行少量单元测试来诊断和满足特定代码单元的最佳利用。它允许您创建专注的测试套件,可以在工作室内方便地运行、调试、重复和快速分析,而无需等待构建。

我建议利用构建服务器来运行完整的测试套件。

【讨论】:

  • 我们正在使用构建服务器来运行测试,但我们的政策是在提交更改之前尽量不要破坏构建。所以我们通常在提交之前运行所有的单元测试。
  • R# 的测试运行器非常方便快速调试。为避免破坏构建,您可以使用 TeamCity 的 Personal Build 或 Pre-Commit 选项。请参阅jetbrains.net/confluence/display/TCD4/Personal+Build 或者,只需从“工具”菜单运行 NUnit。
  • 利用构建服务器运行完整的测试套件是一个糟糕的主意。它会产生大量损坏的构建,并使持续部署完全无效。更新,全部测试,然后提交。
猜你喜欢
  • 2012-07-22
  • 2011-10-29
  • 2014-10-07
  • 2021-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-26
相关资源
最近更新 更多