[英]Unit Test - Construct URI for local file in project
我有一个从外部API解析JSON的服务。
该服务执行以下操作:
我正在尝试对第1-4步进行单元测试(第5步超出了此测试的范围)。
因此,我不想使用网络api-而是在测试项目中本地存储了一个“示例” JSON文件。
我如何读取此文件并将其构造为Uri对象?
例如:
var uri = new Uri("myfile.json");
我收到一个错误消息:“ URI格式不正确”。
该文件设置为“构建操作:嵌入式资源”,并设置为“复制到输出目录:始终复制”。
我在C#.NET 4.5(VS 2012)上,并使用XUnit进行测试。
使用file:
方案和输出目录的标准路径,该路径应与测试运行所在的路径相同。
var fqn = Assembly.GetExecutingAssembly().Location;
var uri = new Uri("file://" + fqn + "/myfile.json");
有关更多详细信息,请参见http://en.wikipedia.org/wiki/File_URI_scheme 。
@ RPM1984的提示提供了答案。 我只是遇到了这个问题,下面的hack为我做到了:
string fqnModified = "\\" + fqn;
Uri uri = new Uri(fqnModified);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.