Visual Studio 2012单元测试客户端和服务调试

5

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


你在单元测试中无法触发断点?它只是跳过了你的 Web 服务调用?你已经尝试在 Web 服务中设置断点了吗? - Wouter de Kort
是的,它没有触发那个断点。我认为这是因为调试器没有附加到该项目,但我不知道如何让Visual Studio附加到该进程。 - hobeau
测试菜单 测试 - 调试解决方案中的所有测试 - Tony Hopkinson
2个回答

4
  1. 不调试启动网站(如果尚未运行)。
  2. 在单元测试中设置断点。
  3. 启动您的单元测试。
  4. 当断点被命中时,使用调试>附加到进程附加到iisexpress.exe

官方说明是错误的。他们说要先附加调试器,但如果这样做,启动单元测试的命令将被禁用。

总是手动附加可能很麻烦。似乎没有一种从命令窗口快速完成它的方法。如果我需要进行大量的调试循环,我会将测试代码暂时复制到 Web 应用程序中的某个位置,在启动时运行它。


对于那些不使用iisexpress而是使用内置的开发服务器的人来说,该进程被命名为Webdev.webserver.exe。 - tmanthey

0

运行两个 Visual Studio 实例。在其中一个实例中,调试网站。在另一个实例中运行单元测试。

为了防止单元测试实例尝试启动网站,请选择网站项目,点击 查看 > 属性窗口,并确保 始终在调试时启动 选项设置为


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接