我正在尝试使用单元测试来测试我的 (ASP.Net) Web 应用程序中的类的功能。此类从硬盘驱动器加载一些文件(以执行 xsl 转换):
Xsl = GetXSLFromFile(AppDomain.CurrentDomain.BaseDirectory + "\XML Transformationen\Transformation_01.xslt")
在调试 Web 应用程序本身期间,可以正确解析此路径。但是每当我启动单元测试(位于一个单独的测试项目中,引用 Web 应用程序的项目)时,我都会得到测试项目的路径。
在这种情况下是否可以获取 Web 应用程序的路径,或者我是否必须使用不同的方法?
任何提示表示赞赏。
我建议你做这样的事情:
public class MyXslFileLoader
{
public void Load()
{
Load(AppDomain.CurrentDomain.BaseDirectory + "\XML Transformationen\Transformation_01.xslt");
}
public void Load(string path)
{
Xsl = GetXSLFromFile(path);
}
}
你会打电话Load()
在您的 Web 应用程序中,但在您的单元测试应用程序中使用此方法的重载版本。您可以考虑将 xslt 文件作为资源添加到您的项目中。
您可以像这样加载路径:
var webApplicationDllPath = Path.GetDirectoryName(typeof(ClassInTheWebApplicationDll).Assembly.GetName().CodeBase);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)