【发布时间】:2011-04-11 05:26:05
【问题描述】:
我对 mstest.exe 处理测试 DLL 的 app.config 文件的方式有点困惑。
实验项目一:
-
一个简单的非测试 DLL。 (它只是从自己的 app.config 文件中读取和打印应用程序设置值。)
-
调用 DLL 以打印其配置值的主 EXE 文件。
实验项目2:
-
一个单元测试 DLL,它仅包含一个测试方法,用于从其自己的 app.config 文件中读取应用设置值并将其写入文件。
-
我使用 mstest.exe 调用单元测试 DLL。
结果:
1.不打印DLL的配置值。
对于2.DLL自身的配置值被成功读取并写入文件。
那么,mstest.exe有什么特别之处吗?
谢谢。
我使用 SOS.dll 通过我的单元测试 DLL 进行调试。我发现对于每个单元测试 DLL,都会创建一个单独的应用程序域。而且这些应用程序域与名称为 vstesthost.exe 的应用程序域不同。 我相信配置是特定于应用程序域的。 Mstest.exe 将为每个测试 DLL 创建一个 App Domain,并将其自己的配置文件分别加载到 App Domain 中。
希望有人能给出更自信的解释。
如何将配置文件加载到 AppDomain 中? -- 要将配置文件加载到 AppDomain,请使用:
AppDomainSetup ad2setup = new AppDomainSetup();
ad2setup.ConfigurationFile = @"config 文件路径";
【问题讨论】:
标签: unit-testing configuration