我对单元测试相当陌生。我有一个建立在 3 层架构中的站点,UI -> BLL -> DAL。而且我使用了 asp.net 提供程序模型,因此通过对 web.config 进行更改,我可以切换到 DAL dll 以针对不同的数据源,以完成使用实体框架编写的 DAL。
现在,我的问题是如何对我的 BLL 进行单元测试?我使用 NUnit。
如果运行/调试我的站点,asp.net/IIS 会加载所有内容并从 web.config 获取正确的配置,所以一切正常,因为入口点来自 IIS。现在,如果我使用 NUnit gui 进行测试并说我的测试项目“MySite.Test.dll”对我的 BLL 有测试用例,那么测试框架如何获得正确的配置以成功运行所有测试。它需要 web.config 中的信息来加载正确的提供程序!
现在,在我的 DAL 中有一个由 EntityFramework 创建的 App.config,其中只有 connectionString。我应该将所有与提供程序相关的配置都放在这个 app.config 中吗?还是我错过了一些关于如何正确执行此操作的大图?
这应该是我认为人们需要经常做的一件常见的事情。有人可以详细说明如何对我的库进行单元测试。
谢谢你,雷。
编辑:阅读前 2 个答案后,我认为我应该通过集成测试更正我的描述。基本上不是 IIS 作为入口点,而是使用 NUnit 之类的 GUI 工具来运行和测试我的代码,所以 NUnit -> BLL -> DAL。人们如何实际设置它?
谢谢,雷。