Unit testing mstest.exe如何处理测试DLL';s配置文件?
我对处理测试DLL的app.config文件的方式有点困惑 实验项目1:Unit testing mstest.exe如何处理测试DLL';s配置文件?,unit-testing,configuration,Unit Testing,Configuration,我对处理测试DLL的app.config文件的方式有点困惑 实验项目1: 一个普通的非测试DLL。(它只从自己的app.config文件中读取和打印应用程序设置值。) 调用DLL以打印其配置值的主EXE文件 实验项目2: 一种单元测试DLL,只包含一种测试方法,用于从自己的app.config文件中读取应用程序设置值并将其写入文件 我使用mstest.exe调用单元测试DLL 结果: 1。未打印DLL的配置值 两个人。DLL自身的配置值已成功读取并写入文件 那么,mstest.e
- 一个普通的非测试DLL。(它只从自己的app.config文件中读取和打印应用程序设置值。)
- 调用DLL以打印其配置值的主EXE文件
- 一种单元测试DLL,只包含一种测试方法,用于从自己的app.config文件中读取应用程序设置值并将其写入文件
- 我使用mstest.exe调用单元测试DLL
我使用SOS.dll通过单元测试dll进行调试。我发现,对于每个单元测试DLL,都会创建一个单独的应用程序域。这些应用程序域与名为vstesthost.exe的应用程序域不同我认为配置是特定于应用程序域的。Mstest.exe将为每个测试DLL创建一个应用程序域,并分别将其自己的配置文件加载到应用程序域中 希望有人能给一个更自信的解释
如何将配置文件加载到AppDomain? --要将配置文件加载到AppDomain,请使用以下命令: AppDomainSetup ad2setup=新建 AppDomainSetup() ad2setup.ConfigurationFile=@“配置 文件路径”
是的,mstest.exe有些特别之处。它会将所有引用DLL复制到另一个目录并从那里执行(我不知道为什么会这样做,因为像NCover这样的工具只是从bin文件夹运行测试)。因此,除了DLL之外,您还必须配置您希望复制的任何其他内容。实现这一点的标准方法是在.testrunconfig文件中指定部署项。您可以通过转到测试/编辑测试运行配置/部署来完成此操作。您可以使用“添加文件…”按钮添加配置文件