1

所以我有一个 VS 2010 解决方案,其中包含一个 ASP.NET MVC 3 项目和一个 SpecFlow 项目(使用 NUnit 作为测试运行器)来测试前者。在 SpecFlow 下进行测试时(通过运行 SpecFlow 项目),我想更改 MVC 应用程序的ConfigurationManager.AppSettings字典中的参数,以使其连接到测试数据库。但是,此更改似乎不会影响正在运行的应用程序,因此我猜测试和应用程序不共享状态。

如何在 MVC 应用程序项目和 SpecFlow 项目之间共享此应用程序设置,以便它们使用相同的数据库?

编辑: 我发现问题实际上并不是项目(MVC 和 SpecFlow)之间的共享设置之一,而是两个进程之间的共享设置。原因是我通过 WatiN 测试 MVC,这意味着在它自己的进程中运行的开发服务器正在被测试执行。因此,我最初问题的前提从一开始就是错误的,鉴于原始前提,我认为杰森的回答是有效的。

4

1 回答 1

1

在您的测试项目 (SpecFlow) 中创建一个新的 app.config(除非它已经存在)并将该appSettings部分与您的测试数据库连接字符串一起添加到其中。IIRC 该网站有望从appSettings测试项目中获取连接字符串,而不是从网站中获取。

于 2011-07-08T11:34:33.047 回答