我正在编写功能测试,我正在编写测试的方法必须访问App_Data文件夹中的文件。我试过了
System.Web.HttpContext.Current.Server.MapPath("~/App_Data/test.txt");
以及
Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "test.txt");
他们两个都没有工作。有没有办法在功能测试中实现这一目标?
非常感谢这方面的任何想法。
谢谢,
拉加
答案 0 :(得分:0)
我终于找到了解决方案(在我的解决方案架构师的帮助下)。我们为功能测试项目设置了app配置,并将文件名设置为appsettings之一。之后我们将实际文件的相对路径指定为
[DeploymentItem(@"..\..\Project1\App_Data\Test.txt")]
测试类的属性。我们添加了一个简单的hack来使用绝对路径,如果它在测试(app config)和
Server.MapPath("Test.txt")
如果不是测试。该解决方案的逻辑是,由于我们将文件作为DeploymentItem放置,它直接进入相应的TestResults文件夹,因此如果我们使用绝对路径,它将能够引用它。
希望这有助于某人。