我正在对使用app.config文件加载配置属性的.NET应用程序(.exe)进行单元测试。单元测试应用程序本身没有app.config文件。
当我尝试对使用任何配置属性的方法进行单元测试时,它们返回 null 。我假设这是因为单元测试应用程序不会加载到目标应用程序的app.config中。
有没有一种方法可以覆盖此问题,或者我必须编写脚本将目标app.config的内容复制到本地app.config?
这篇文章有点问这个问题,但是作者实际上是从与我不同的角度看待它。
编辑: 我应该提到,我正在使用VS08 Team System进行单元测试。
最简单的方法是.config在单元测试的“部署”部分中添加文件。
.config
为此,请.testrunconfig从“解决方案项目”中打开文件。在“部署”部分中,.config从项目的构建目录(可能是bin\Debug)中添加输出文件。
.testrunconfig
bin\Debug
在运行测试之前,“部署”部分中列出的所有内容都将被复制到测试项目的工作文件夹中,因此与配置相关的代码可以正常运行。
编辑:我忘记添加了,这在所有情况下都无法使用,因此您可能需要包含一个启动脚本,该脚本将输出重命名.config以匹配单元测试的名称。