为简单起见,我通常将很多配置(即app.config和web.config的内容)分割成单独的.config文件,然后使用'configSource'属性从主配置文件中引用它们。例如:如何使用MSTest单元测试项目使用“外部”配置文件(即使用configSource)?
<appSettings configSource="appSettings.config"/>
,然后把所有的键/值对在appSettings.config文件,而不是在其主配置文件这行:
<appSettings>
<add key="FirstKey" value="FirstValue"/>
<add key="SecondKey" value="SecondValue"/>
...
</appSettings>
这通常伟大工程与应用程序本身,但我试图编写单元测试时出现问题,无论出于何种原因,需要从存储在这些外部文件之一中的配置部分获取一些值。 (据我所知,其中大部分将被视为“集成测试”,因为它们依赖于配置系统,而且我也有“纯粹的单元测试”,但这些都不是问题。测试这些配置值是否正确检索并以正确的方式影响行为)。
由于MSTest如何编译并将输出复制到与每次测试运行不同的混淆型文件夹(而不是像您可能认为的那样位于'bin'文件夹中),它似乎从未能够找到那些外部文件,而测试正在执行。我试图搞乱后构建行动,使这项工作,但没有运气。有没有办法在运行时将这些外部文件复制到正确的输出文件夹中?
请注意以下文件VS2008和VS2010之间改名为: “localtestrun.testrunconfig”(.NET v3.5版本)和 “Local.testsettings”(.NET V4.0):HTTP:// social.msdn.microsoft.com/Forums/en/vststest/thread/1422bfb0-a637-430c-a2bf-0b199a02f013 – Ubikuity 2012-05-11 14:41:11