我尝试使用单元测试在我的(ASP.Net)webapplication中测试类的功能.此类从harddrive加载一些文件(以执行xsl转换):
Xsl = GetXSLFromFile(AppDomain.CurrentDomain.BaseDirectory + "\XML Transformationen\Transformation_01.xslt")
Run Code Online (Sandbox Code Playgroud)
在调试Web应用程序本身期间,可以正确解析此路径.但每当我开始单元测试(它位于一个单独的测试项目中,引用webapplication的项目)时,我就会得到测试项目的路径.
是否有可能在这种情况下获取Web应用程序的路径,或者我是否必须使用不同的方法?任何提示都表示赞赏.
亲切的问候,凯哈特曼
好的,这给出了提示:单元测试项目能否加载目标应用程序的 app.config 文件?
在测试项目添加到我的 web 应用程序项目的 .testsettings 文件中,我可以添加每次执行测试时应复制到测试项目调试文件夹的文件和文件夹。
因此,在此之后,我可以引用每个 AppDomain.CurrentDomain.BaseDirectory 的 xsl 文件。
此外,为了保留文件夹结构,我必须执行此处描述的操作: Visual Studio 测试项目 - 部署时不复制文件夹
我必须使用文本编辑器编辑 .testsettings 文件,并添加 outputDirectory 参数。之后我重新启动了 Visual Studio,当启动测试项目时,文件夹和文件已正确复制。