gpt4 book ai didi

.net - 如何在 MSTest 单元测试项目中使用 "external"配置文件(即使用 configSource)?

转载 作者:行者123 更新时间:2023-12-04 01:40:56 24 4
gpt4 key购买 nike

为简单起见,我通常将很多配置(即 app.config 和 web.config 的内容)拆分为单独的 .config 文件,然后使用“configSource”属性从主配置文件中引用它们。例如:

<appSettings configSource="appSettings.config"/>

然后将所有键/值对放在该 appSettings.config 文件中,而不是在主配置文件中内嵌:
<appSettings>
<add key="FirstKey" value="FirstValue"/>
<add key="SecondKey" value="SecondValue"/>
...
</appSettings>

这通常适用于应用程序本身,但在尝试编写单元测试时遇到问题,无论出于何种原因,都需要从存储在这些外部文件之一中的配置部分获取某些值。 (我知道其中的大多数都可能被视为“集成测试”,因为它们依赖于配置系统,而且我也有“纯单元测试”,但这不是问题。我真的在寻找以测试这些配置值是否被正确检索并以正确的方式影响行为)。

由于 MSTest 如何编译并将输出复制到与每次测试运行不同的看起来很模糊的文件夹(而不是像您想象的那样复制到“bin”文件夹),它似乎永远无法在测试时找到这些外部文件正在执行。我试过搞乱后期构建操作来完成这项工作,但没有运气。有没有办法在运行时将这些外部文件复制到正确的输出文件夹中?

最佳答案

找到了:

如果您编辑测试运行配置(通过双击在添加新单元测试时放入“解决方案项”解决方案文件夹的 .testrunco​​nfig 文件),您将看到一个测试运行配置对话框。有一个名为“部署”的部分,您可以在其中指定解决方案中任何位置的文件或整个文件夹,这些文件或整个文件夹可以在运行时与编译的程序集一起复制到正确的文件夹中。

通过这种方式,我现在实际上可以在一组外部 .config 文件中定义我的大部分配置,并在每次测试运行时自动复制它们。

关于.net - 如何在 MSTest 单元测试项目中使用 "external"配置文件(即使用 configSource)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/152866/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com