单元测试 - 在测试项目中使用图像作为资源

时间:2011-01-12 20:31:16

标签: wpf image unit-testing resources

我正在编写的项目的一部分单元测试从jpeg头中提取数据。

我想创建一个使用已知图像测试此提取的单元测试(因此我可以测试该图像的已知属性)。

对我而言,这个示例图像作为资源保存在测试项目中似乎是合乎逻辑的,但我不知道该怎么做。如果它是一个WPF项目,我只需使用包语法。

是否有类似这样的事情的最佳实践(或者,甚至是可行的东西)?

谢谢, WTS

2 个答案:

答案 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");
}