【问题标题】:NCrunch "no tests are queued for execution"NCrunch“没有测试排队等待执行”
【发布时间】:2016-09-08 20:35:33
【问题描述】:

在 Visual Studio 2015 Community Edition Update 3 和 NCrunch 2.15.0.9 中,我的 MSTest 单元测试可以编译(我可以在 MSTest 中运行它们),但 NCrunch 将它们显示为

没有测试排队等待执行。监控 2 个测试,没有忽略任何测试

这些测试的状态是

运行(第一次运行),优先

如果它们真的在运行,它们永远不会完成。在 MSTest 中运行它们只需要几毫秒。

C# 类库仍然是一个非常简单的项目,几乎是 HelloWorld 的复杂性。它没有任何奇怪的依赖关系。它没有签名,也没有构建前或构建后的步骤。

我已经使用向导设置了我的 NCrunch 配置

  • NCrunch 的 2/4 个内核
  • 最多 1 个后台处理线程
  • 针对最快的测试执行进行优化
  • 一次运行一个测试
  • 检测到更改时自动运行我的测试
  • 让我的测试运行 - 我会根据需要忽略它们

即使我手动触发测试也不会运行。

NCrunch 诊断输出窗口中没有内容。

不确定是否相关,但我安装了其他插件:

  • VisualSVN 5.1.2
  • Resharper Ultimate 10.0.1
  • OzCode 2.0.0.1029

限制:我无法升级 NCrunch,因为我的许可证已过期。

我试过了:

  • 将 Resharper Ultimate 升级到 2016.1
  • “阻止对输出程序集进行签名”
  • “将引用的程序集复制到工作区”
  • 在 DLL 和测试上都将架构设置为 x86

【问题讨论】:

  • 您的测试是否会与 MS Test 以外的任何其他测试运行程序(例如 ReSharper)一起运行?
  • @JCisar:是的,他们将在 Resharper 中运行(并失败)
  • 我知道这是一个愚蠢的建议,因为我确信您已经尝试过,但有时 NCrunch 会被缓存并因此停止。您是否尝试过清理、重建并点击“重新同步、重建并重新运行所有测试”?这通常是我在 NCrunch 卡住时所做的。这与告诉它手动运行测试略有不同。
  • @JCisar:是的,我也试过了。我刚刚找到了一个解决方案:它与新的 .NET 4.6.1 框架有关,它是 VS 2015 Update 3 中的新默认框架
  • 很高兴你明白了,因为一旦你习惯了没有 NCruch 就会感觉很慢 :)

标签: c# unit-testing ncrunch


【解决方案1】:

最新的 Visual Studio Update 3 使 .NET 4.6.1 成为新项目的默认 .NET Framework。

将两个项目(DLL 和单元测试)切换回稍旧的 .NET 4.5.2,然后点击“重新同步、重建和重新运行”按钮即可解决问题。

这个may be fixed in newer versions 2.20 of NCrunch,但我的 NCrunch 许可证甚至不支持 .NET 4.6。

【讨论】:

    猜你喜欢
    • 2019-10-30
    • 2011-12-20
    • 2018-11-04
    • 1970-01-01
    • 2019-04-25
    • 1970-01-01
    • 2010-11-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多