【问题标题】:Visual Studio 2012 Unit Test client and service debugVisual Studio 2012 单元测试客户端和服务调试
【发布时间】:2013-03-15 19:45:46
【问题描述】:

愚蠢的问题,但由于某种原因,我似乎无法弄清楚如何调试单元测试,在客户端上打断点并进入 Web 服务。在 VS 2010 中,我只是将我的解决方案设置为多个启动项目,并将调试设置为客户端 UI 测试以及 Web 服务。当我在 UI 测试中遇到断点时,我可以进入 Web 服务。在 VS 2012 中,我看不到这样做的方法。有人可以帮忙吗?

【问题讨论】:

  • 你可以在你的单元测试中打断点吗?它只是跳过您的网络服务调用?您是否已经尝试在 Web 服务中设置断点?
  • 是的,它没有达到那个断点。我认为这是因为调试器未附加到该项目,但是我不知道如何让 Visual Studio 附加到该进程。
  • 测试菜单测试 - 调试解决方案中的所有测试

标签: unit-testing debugging visual-studio-2012


【解决方案1】:
  1. 无需调试即可启动网站(如果尚未运行)。
  2. 在单元测试中设置断点。
  3. 开始您的单元测试。
  4. 当断点被命中时,使用 Debug > Attach to Process 附加到 iisexpress.exe

official instructions 是错误的。他们说要先附加调试器,但如果你这样做了,启动单元测试的命令就会被禁用。

总是不得不手动附加可能会很痛苦。似乎没有办法快速做到这一点from the Command Window。如果我必须进行大量的调试周期,我会临时将测试代码复制到 Web 应用程序的某个位置,以便在启动时运行。

【讨论】:

  • 对于那些不使用 iisexpress 而是使用内置开发服务器的人,该进程被命名为 Webdev.webserver.exe
【解决方案2】:

运行两个 Visual Studio 实例。在一种情况下,调试网站。另一方面,运行单元测试。

要阻止单元测试实例尝试启动网站,请选择网站项目,单击查看>属性窗口,并确保Always Start When Debugging为错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-30
    • 2019-03-11
    • 1970-01-01
    • 2013-01-16
    • 2012-11-04
    • 1970-01-01
    • 2012-01-06
    相关资源
    最近更新 更多