C# - 在 MSTest/单元测试中读取 app.config

Joh*_*eph 5 c# mstest

我正在尝试找出如何(同时也是最佳实践)在单元测试(特别是 MSTest)中使用 app.config 文件。

所以我有实际的项目,然后是一个单独的项目。实际项目有一个 app.config - 单元测试似乎正在使用该文件,而不是我试图指定的文件。

我已经尝试过以下方法:

  1. 将 app.config 的副本放在测试项目的根目录中,删除代码中使用的一些关键配置部分,因此应该会导致异常和失败 - 这似乎不起作用

  2. 使用

    [DeploymentItem("app.config")]
    
    Run Code Online (Sandbox Code Playgroud)

我相信它会从测试项目根目录中获取 app.config 并进行部署?奇怪的是,我还尝试将路径更改为

[DeploymentItem("Data\\app.config")]
Run Code Online (Sandbox Code Playgroud)

这是我用来加载其他部署项目的目录 - 但它抱怨找不到 app.config。

我在这里做错了什么 - 我是否以正确的方式做这件事(假设我错过了一些简单的事情)。我基本上想要一个单独的 app.config,我可以在其中使用特定的测试设置,而不是使用复制或引用的真实 app.config。