单元测试具有在Web.Configuration.WebconfigurationManager中定义的数据库连接字符串的ASP.NET MVC项目

时间:2011-12-09 22:30:32

标签: asp.net-mvc unit-testing

我有一个ASP.NET MVC项目,我想进行单元测试。大多数函数依赖于对数据库的调用,其连接字符串定义为:

connStr.ProviderConnectionString = Web.Configuration.WebConfigurationManager.ConnectionStrings("ApplicationServices").ConnectionString

有没有办法轻松测试这个,而不是使用以下命令从dev服务器启动每个单元测试:

 <TestMethod(), _
 HostType("ASP.NET"), _
 AspNetDevelopmentServerHost("C:\Users\tyler.HQ\Development\LateralSports\Dev\Dev\Site", "/"), _
 UrlToTest("http://localhost:57110/")> _

使用HostType允许单元测试运行,但速度非常慢。

我可以调换一些配置参数吗?

由于

1 个答案:

答案 0 :(得分:2)

你真的应该找到一种更好的方法来获取连接字符串。选项包括:

  • 使用正常的System.Configuration.ConfigurationManager而不是那些东西。
  • 使用依赖注入来抽象它。
  • 完全避免单元测试中的数据库 - 毕竟这是一个基础设施问题。