我有一个ASP.net网站项目(.net 3.5).目前,所有非代码隐藏代码文件(包括Linq2Sql内容、数据上下文、业务逻辑、扩展方法等)都位于App_code文件夹中.
我有兴趣在项目的某些部分引入单元测试(使用nunit).我要做的任何单元测试都需要完全访问当前位于App_code文件夹中的所有代码.到目前为止,我已经做了一些初步阅读,共识似乎是:
- 鉴于我目前的设置,这将不可能实现
- 单元测试需要引用作为已编译DLL一部分的类,根据定义,网站项目仅在运行时编译.
- 为了继续,我需要将我的整个项目转换为Web应用程序,或者将我要测试的所有代码(即App_Code的全部内容)移动到一个类库项目中,并在网站项目中引用该类库项目.它们中的任何一个都将以编译的DLL格式提供对我所需的类的访问,这将允许我对它们进行单元测试.
对吗?或者有没有其他方法可以在不重构/重构整个项目的情况下进行单元测试?