我正在编写的项目的一部分单元测试从jpeg头中提取数据。
我想创建一个使用已知图像测试此提取的单元测试(因此我可以测试该图像的已知属性)。
对我而言,这个示例图像作为资源保存在测试项目中似乎是合乎逻辑的,但我不知道该怎么做。如果它是一个WPF项目,我只需使用包语法。
是否有类似这样的事情的最佳实践(或者,甚至是可行的东西)?
谢谢, WTS
答案 0 :(得分:5)
您可以将测试项目中的图像作为嵌入资源包含在内 然后,您可以使用以下代码获取该图像的流:
Assembly.GetExecutingAssembly().GetManifestResourceStream("TestProject.TestImages.myImage.png");
有关详细信息,请参阅this link
答案 1 :(得分:2)
这是基于@Matthew Manela的贴子答案,它指出了(或者,更合适的是,一个)正确的方向。对我来说感觉有点笨拙,但它确实有用。
首先,将图像设置为内容资源,使用“始终复制”。
然后,使用以下辅助函数(由不同的测试使用):
private string GetValidFileName()
{
FileInfo fileInfo = new FileInfo(Assembly.GetExecutingAssembly().Location);
return Path.Combine(fileInfo.DirectoryName, @"Resources\Sample.jpg");
}