我有点迷路 mstest.exe 处理测试 DLL 的 app.config 文件。
实验项目一:
实验项目2:
结果:
对于 1. 不打印 DLL 的配置值。
对于 2. DLL 自身的配置值被成功读取并写入文件。
那么,有什么特别之处吗? mstest.exe ?
谢谢。
我使用 SOS.dll 通过我的单元测试 DLL 进行调试。我发现对于每个单元测试 DLL,都会创建一个单独的应用程序域。而这些 App Domains 与名称为 的不同。 vstesthost.exe . 我相信该配置特定于应用程序域 . Mstest.exe 将为每个测试 DLL 创建一个应用程序域,并将其自己的配置文件分别加载到应用程序域中。
希望有人能给出更自信的解释。
如何将配置文件加载到 AppDomain 中?
-- 要将配置文件加载到 AppDomain,请使用以下命令:
AppDomainSetup ad2setup = new AppDomainSetup();
ad2setup.ConfigurationFile = @"config file path";
最佳答案
是的,mstest.exe 有一些特别之处。它将所有引用 dll 复制到另一个目录并从那里执行(我不确定为什么这样做,因为像 NCover 这样的工具只是从 bin 文件夹运行测试)。因此,除了 DLL 之外,您还必须配置您希望复制的任何其他内容。执行此操作的标准方法是在 .testrunconfig 文件中指定部署项。您可以通过转到测试/编辑测试运行配置/部署来执行此操作。您可以使用“添加文件...”按钮添加配置文件。
关于unit-testing - mstest.exe 如何处理测试 DLL 的配置文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5617083/