我有一个ASP。. NET MVC项目,我想单元测试。大多数函数依赖于对数据库的调用,其连接字符串定义为:
connStr.ProviderConnectionString = Web.Configuration.WebConfigurationManager.ConnectionStrings("ApplicationServices").ConnectionString
是否有一些方法可以轻松地测试这一点,而不需要让每个单元测试启动开发服务器:
<TestMethod(), _
HostType("ASP.NET"), _
AspNetDevelopmentServerHost("C:Userstyler.HQDevelopmentLateralSportsDevDevSite", "/"), _
UrlToTest("http://localhost:57110/")> _
使用HostType
允许运行单元测试,但它非常慢。
是否有一些配置参数我可以交换?
谢谢
您真的应该找到一种更好的方法来获取连接字符串。选项包括:
- 使用正常的System.Configuration.ConfigurationManager而不是那个东西。
- 使用依赖注入将其抽象出来。
- 在单元测试中完全避免使用DB——它毕竟是一个基础设施问题。