我有一个win表单应用程序,我希望能够在运行单元测试期间进行调试,并且我有一个关于如何实现这一目标的心理障碍。由于我无法控制的架构决策,我无法将此产品重新考虑为可以进行单元测试的可管理组件,因此这些是在visual studio中执行的技术集成测试。话虽如此,我会尽力解释我的情景。
win form客户端(我想调试的那个)使用经典的wsdl服务连接到asp.net网站的各个端点。在VS解决方案中,添加了所有各种项目,客户端,网站和测试(简化的简化项目列表),在开发过程中,服务器和客户端通过在解决方案属性中选择多个启动项目来一个接一个地启动。这样做使我能够进行调试,并且似乎是VS 2010/2008中标准的开发方法。
到了测试客户端(MSTest)的时候,我使用Microsoft.VisualStudio.WebHost来启动服务器(这使我能够运行进程内和调试)。缺少什么,这篇文章的重点是“如何在启用调试工具的情况下启动客户端?”。使用system.diagnostics启动新进程不起作用,White的Application对象(http://white.codeplex.com/)
也不起作用非常感谢任何指针或提示。
此致 斯蒂芬
答案 0 :(得分:1)
启动vsjitdebugger.exe
并将可执行文件作为参数传递,而不是启动可执行文件。这将在注册的JIT调试器下启动您的应用程序。在安装了VS的机器上应该是VS本身(前提是你实际进入了选项并注册了它)。
(在没有VS的机器上,我认为注册的JIT调试器是Watson,但我可能错了)