【问题标题】:Can't run unit test Visual Studio 2012 Ultimate无法运行单元测试 Visual Studio 2012 Ultimate
【发布时间】:2015-01-14 18:46:34
【问题描述】:

当我尝试在 Visual Studio 2012 Ultimate 上运行特定测试时,我收到一条错误消息:“ID 为 -1 的进程未运行”(不确定翻译,抱歉)。 当我尝试执行所有测试时,错误消息是“找不到指定的文件”。

检测到我的所有测试,但没有执行任何测试。我花了两天时间试图让这些测试工作:重新创建测试项目,在 IISExpress 而不是 IIS 下运行测试项目,重命名我的文档中的 IISExpress 文件夹,强制编译 x86 或 x64,删除假程序集,清理解决方案...没有任何效果。

我使用的是内置的MSTest框架,没有安装具体的框架。

这是我在调试时收到的消息:

这是我“仅”执行时得到的结果:

英文错误信息:

------ Run test started ------
Process with an Id of -1 is not running.
========== Run test finished: 0 run (0:00:00,1050004) ==========

------ Run test started ------
The system cannot find the file specified
========== Run test finished: 0 run (0:05:16,7847051) ==========

【问题讨论】:

  • 我假设您使用的是内置的 MSTest 框架?如果不是(即使是这样),值得强调一下您正在使用什么单元测试框架(因为例如 NUnit、xUnit 等也可以集成到 VS 中)
  • 我只使用内置框架,看我的更新。
  • 除了您的解决方案之外,您能否在尽可能简单的环境中通过一次测试创建一个示例?
  • 相同的结果 - 但我准确地找到了每条消息的触发时间。当我尝试调试测试时(在测试方法中右键单击 -> 调试测试)我有“ID 为 -1 的进程没有运行”,当我通过测试资源管理器执行测试时我有“指定的文件找不到”。也许 Visual Studio 正在尝试附加到某个进程?
  • @jessehouwing:查看我的编辑。恐怕没有什么可以帮助的:(也许VS正在尝试附加网站进程?无论如何,我只是在VS2013 Express下尝试过,测试一直有效,直到我尝试使用假货......错误不是相对的,而只是以防万一,更改 IDE 的版本没有帮助。

标签: unit-testing visual-studio-2012 mstest microsoft-fakes


【解决方案1】:

在调试 Visual Studio 本身之后,结果发现 Visual Studio 正在尝试启动 vstest.executionengine.x86.exe

在您的 2012 年实例中不存在:

解决方案

我从 Windows 的“程序和功能”面板修复了 Visual Studio 2012,并修复了测试。 将其升级到 Visual Studio 2012.4 似乎可以让测试保持运行状态。如果您选择修复 2012,如果您安装了更新,请确保您还重新应用最新的更新包(更新 4)。

在 Visual Studio 2013.4 或 2015 Preview 中打开项目似乎也可以。所以似乎有些东西以某种方式破坏了 Visual Studio 2012 Ultimate,修复它可以解决问题。

【讨论】:

  • W00t \o/ 非常感谢,修复和重启后测试正常!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-04-04
  • 1970-01-01
  • 2014-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多