C# 在集成测试期间调试.NET web应用程序

C# 在集成测试期间调试.NET web应用程序,c#,asp.net-mvc,testing,C#,Asp.net Mvc,Testing,我正在为ASP.NET MVC应用程序编写一些集成测试,我想知道在应用程序启动web请求后,如何在web应用程序中找到断点 为了提供更多的背景信息,以下是目前正在发生的情况: 在与我的MVC项目相同的解决方案中的一个单独的类库项目中,我启动IIS Express并将其指向我的MVC应用程序的位置 在POCO对象中构建一些数据 将对象解析为名称-值对字符串 将字符串作为WebRequest的主体发布到MVC操作方法 我知道这一切都在起作用,因为我得到了500分,我的应用程序正在记录应用程序中抛

我正在为ASP.NET MVC应用程序编写一些集成测试,我想知道在应用程序启动web请求后,如何在web应用程序中找到断点

为了提供更多的背景信息,以下是目前正在发生的情况:

  • 在与我的MVC项目相同的解决方案中的一个单独的类库项目中,我启动IIS Express并将其指向我的MVC应用程序的位置
  • 在POCO对象中构建一些数据
  • 将对象解析为名称-值对字符串
  • 将字符串作为
    WebRequest
    的主体发布到MVC操作方法
我知道这一切都在起作用,因为我得到了500分,我的应用程序正在记录应用程序中抛出错误的确切位置。然而,这本身并不是足够的信息,我想为MVC应用程序加载符号,这样当我发出请求时,我可以在web应用程序中点击一个断点


有人知道怎么做吗?

Debugger.Launch()能帮你吗?

有几种方法可以调试它

  • 在服务代码中,创建一个日志文件并将所有异常写入其中。如果可能的话,添加所有堆栈跟踪,这将让您知道错误可能在哪里
  • 在web服务中创建一个Winform测试项目,并将虚拟数据加入到服务代码中,然后测试web服务(因此所有内容都在一个解决方案中)

  • 只要您的应用程序编译为Debug,就可以从VisualStudio附加到IIS Express进程

    在visual studio中,从“工具”菜单中选择“附加到进程”,然后从进程列表中选择“IIS Express”


    附加到进程后,发出请求,它应该在您设置的任何断点处停止。

    不,对不起,我正在调试器下运行测试项目,因此问题中提到我正在记录错误,但这还不够,我还提到,测试项目实际上与web应用程序在同一个解决方案中