如何在同一解决方案中使用调试步入Web应用程序中的测试项目类?

问题描述:

当使用NUnit和测试项目时,我们一直无法找到一种方法来进入我们在Web应用程序中测试的类。我们使用Visual Studio 2008的TestDriven.NET加载项。我们可以在测试项目中找到断点,但不能进入正在测试的Web应用程序类。如何在同一解决方案中使用调试步入Web应用程序中的测试项目类?

您可能必须手动将调试器附加到IIS或内置的Web服务器进程,具体取决于您正在开发的Web应用程序的类型。使用“调试”菜单中的“附加到过程...”,在单元测试中击中断点后,手动附加调试器。

这当然假设您正试图访问仅在Web应用程序运行时才有效的类(如Web服务)。

如果是这种情况,您可能需要查看模拟框架,如MoqRhinoMocks,以便您的测试可以独立于此类依赖关系执行。

如果它的类即使在主机应用程序(IIS或内置Web服务器进程)未运行时仍然有效,那很可能是因为编译和符号生成发生在调试器已连接到您的单元之后试验。在这种情况下,一个简单的解决方法是将这些类物理分离到它自己的类库程序集中,然后从Web应用程序项目中引用该程序集(项目)。