在ASP.NET MVC应用程序中使用Web.config而不是app.config进行集成测试

本文关键字:config 集成测试 app Web MVC NET ASP 应用程序 | 更新日期: 2023-09-27 18:27:17

我有一个web应用程序,其中包含一个名为EnterpriseInfrastructure的项目,该项目具有名为Pager的类。这个类只是创建一个由WSDL指定的PagerClient,该WSDL在服务引用中链接。

当我在生产中运行应用程序时,PagerClient会使用应用程序Web.config中的设置进行初始化。这很管用。但是,当我尝试执行集成测试以确保在Web.config中指定了正确的端点时,会抛出一个异常,即找不到配置文件。该服务正在查找app.config,而不是web.config。

有没有一种方法可以像我们的web应用程序一样运行测试,从而调用web.config而不是app.config?

我正在使用[DeploymentItem(@"../../../UI/Web.config")]从我们的实际项目中复制web.config。

在ASP.NET MVC应用程序中使用Web.config而不是app.config进行集成测试

您的单元测试项目还需要web.config来运行测试。我通常会对其他app.config文件执行以下操作:添加现有项,导航到其他项目中的web.config,然后按下Add按钮上的小向下箭头并选择Add as Link

这样,您在主配置文件中所做的任何更改也将被测试项目使用。。。您不需要管理两个配置文件。

编辑:这似乎只适用于app.config文件,我无法让我的测试项目忽略app.config并使用链接的web.config