在ASP.NET单元测试中进行调试

在前一篇关于在单元测试中使用HttpContext的文章中,本人提到了用ASP.NET单元测试的一个缺点是不能调试,今天我推翻我自己错误的论调,其实在ASP.NET单元测试中也是能调试的。

以前我以为ASP.NET单元测试就运行于WEB服务器上,所以我用Debug来运行,那么ASP.NET单元测试就自动Attach到Web服务器,就能调试了。但是实际上要让ASP.NET单元测试可以调试的话,正确的做法应该是:

  1. 在Web.config中,找到<compilation debug=”false”/>这个节点,然后把debug属性改为true
  2. 在ASP.NET单元测试代码的最开始处添加这样一句话“System.Diagnostics.Debugger.Break()”
  3. 运行该ASP.NET单元测试

在运行单元测试的时候,会有一个提示框出来,说程序遇到一个断点,是否进入调试,当然是选择调试啦。如图:

选中Debug这个程序以后,会有第二个提示框出来,让我们选择用哪个程序来进行调试,可以选择一个合适的VSTS,如图:

选上一个VSTS的实例以后,程序就会停在System.Diagnostics.Debugger.Break()这条语句上,这时候再按一下F5,让程序继续运行,当程序遇到下一个断点,就会停下来了,从此就可以调试ASP.NET的单元测试了。

Leave a Reply

Your email address will not be published. Required fields are marked *