我正在测试使用app.config文件加载配置属性的.NET应用程序(.exe).单元测试应用程序本身没有app.config文件.
当我尝试对使用任何配置属性的方法进行单元测试时,它们返回null.我假设这是因为单元测试应用程序不会加载到目标应用程序的app.config中.
有没有办法覆盖这个或我是否必须编写脚本将目标app.config的内容复制到本地app.config?
这篇帖子有点问这个问题,但作者真的从一个不同的角度来看待它.
编辑:我应该提一下,我正在使用VS08 Team System进行单元测试.
这是问题:
1.在Visual Studio解决方案中创建一个TestProject.
2.打开.testrunconfig文件,在"部署"菜单项下,选中"启用部署"复选框.
3.现在单击"添加目录..."按钮并添加一个文件夹,其中包含一些文件.
4.运行测试项目(使用虚拟测试).
好的,现在去检查TestResults文件夹:您将看到所有文件都被直接复制(到顶层) - 文件夹本身没有被复制(文件在其下面).这会在测试期间弄乱我的路径.任何人都可以告诉如何复制文件夹而不仅仅是下面的文件?
谢谢.
我刚刚开始尝试使用moq对我的模块进行单元测试.
实际上,我必须编写单元测试的类使用
Assembly.GetExecutingAssembly().Location 在内部确定路径.
但是,这在编写单元测试时不起作用,因为执行程序集的路径不同(采用单元测试程序集的路径)
AppData\\Local\\Temp\\3ylnx32t.ukg\\TestApplication.Test\\assembly\\dl3\\aeb938e6\\f3664631_d982ce01.
我试过,禁用阴影复制.
AppDomainSetup appDomain= new AppDomainSetup{ShadowCopyFiles = "false",};
appDomain.ShadowCopyFiles=false.ToString();
Run Code Online (Sandbox Code Playgroud)
不过,它不起作用!
任何建议表示赞赏.提前致谢.