【发布时间】:2013-09-16 19:03:04
【问题描述】:
我在同一个解决方案中有一个 MVC 项目和一个单元测试项目。单元测试在 MVC 项目中创建类的实例,这些实例从 MVC 的 web.config 文件中读取服务总线端点。
有两个不同的端点条目,一个指向测试服务器,另一个指向 localhost,用于在我的机器上测试代码。通常 localhost 条目被注释掉。
好的,所以我遇到的问题是:当我取消注释本地主机条目并注释掉开发服务器条目并运行特定测试(使用“运行选定测试”)时,测试仍然指向配置文件中的开发服务器条目(已注释掉)......即使我重新构建解决方案。如果我运行应用程序,它会读取正确的条目并指向 localhost。
如何强制单个单元测试读取web.config 以获得正确的值?
【问题讨论】:
-
单元测试将在测试所在的程序集的上下文中运行。假设您的测试与网站位于不同的项目中,您需要在测试项目中创建一个 app.config 文件。无论您要测试什么,都将在该文件中查找配置。
-
啊,我假设单元测试会查看正在测试的项目的配置。谢谢@Keith!如果您想发布答案,我会这样标记。
标签: c# .net asp.net-mvc unit-testing web-config