首页 > 解决方案 > 使用 vstest.console.exe.config 而不是 app.config 构建 TFS

问题描述

一段时间以来,我们让 TFS2017 在构建过程中运行我们的单元测试 (xUnit)。每个测试项目都有自己的app.config文件声明一些 appSettings。

我们的代码正在查看这些应用设置,例如ConfigurationManager.AppSettings["someSetting"]

最近有一些开发者从VS2015升级到VS2017(不确定是否相关),我们的测试开始失败。

原来是从加载的appSettingsvstest.console.exe.config而不是app.config测试项目中包含的文件。

虽然我们能够将设置添加vstest.console.exe.config到此不是我们的首选解决方案,但我们希望app.config再次使用该文件进行测试。

关于如何做到这一点的任何想法?我不知道一开始发生了什么变化。

标签: tfsxunit

解决方案


确保未更改 WorkingFolder。它应该相对于包含 test.dll 的文件夹。

此外,您可以尝试<exec>MSBuild 中的任务来运行控制台运行程序。

运行多个程序集时,您可以使用 ItemGroup 元数据为每个程序集指定配置文件。该<xunit>任务在项目组中的每个项目上查找名为 ConfigFile 的元数据。当AppDomains设置为false时,将忽略配置文件。


推荐阅读