【发布时间】: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