.net - 测试项目中的App.config

标签 .net asp.net tdd .net-assembly

我正在VS2010中构建一个ASP.NET应用程序。我有许多单独的程序集(类库)和每个程序的相应测试项目。

在一个类库中,我使用App.config文件存储设置。程序集本身使用以下代码来检索设置:

 string tmp = ConfigurationManager.AppSettings["mySetting"];

问题是,当我尝试在单独的测试项目中创建单元测试时,该测试未获取App.config文件中的设置。如果我将App.config文件复制到Test项目中,它将起作用。

如何确保每个程序集使用自己的App.config文件副本。如果必须复制配置文件,将会带来问题。还有一个问题,因为可能有多个配置文件,每个程序集一个-无论如何它们如何共存于一个测试项目中?

谢谢!

最佳答案

好吧,如果您需要在多个项目中共享一个App.config文件,则只需在每个项目中简单地“添加为链接”即可。

假设您的原始App.config具有 ProjectA 。然后,您有 ProjectATest1 ProjectATest2 。在每个TestX项目中:

  • 右键单击Visual Studio中的解决方案名称
  • 选择“添加现有项”
  • 导航到 ProjectA App.config并选择它
  • 单击“添加”按钮向下箭头
  • 选择“添加为链接”

  • 它将在每个TestX项目中创建一个App.config快捷方式。如果您更改它,它将随处更改。

    希望这可以帮助。

    关于.net - 测试项目中的App.config,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5674619/

    相关文章:

    c# - ThreadState 属性的值是多少?

    asp.net - Ninject.Web.PageBase 仍然导致对注入(inject)依赖项的空引用

    javascript - 如何使用 Jasmine 和 Karma 测试 DOM 和 CSS

    angularjs - Protractor 可以用于测试驱动开发吗?

    c# - 使用 async/await 调用 WCF 服务的模式

    unit-testing - 试图获得对 TDD 好处的信心

    c# - 来自 list<object> , ToString() 它们只是当它们是原始类型或重写此方法时

    c# - EventToCommand 无法添加到 TriggerActionCollection

    .net - Winform 样式问题 : Windows classics style?

    c# - 将多个控件的特殊属性设置为相同的值