我有一个资源程序集,其中包含我的应用程序使用的各种字符串,图标和位图。如何为单元测试创建内存中图标
我写了一个资源管理器类,我想单元测试。我设法创建了具有内存字符串(duh)和位图的单元测试,但我正在努力处理图标资源。
只需使用高度和宽度参数即可轻松创建位图,但图标似乎需要有效的流。
我已经试过:
Icon icon = new Icon(new MemoryStream(), new Size(10, 15));
但是,这给我的错误“论证‘图像’必须是可以被用作图标的图片”。
很显然,我正在尝试编写单元测试,以避免必须从文件系统加载实际图标。此外,ResourceManager类正在处理程序集中的嵌入式资源,因此我不想在单元测试程序集中嵌入真正的图标,否则我将使用类似的代码来促进测试,这看起来反直观。
任何想法?
干杯, 奔的标准系统图标
您是否尝试将图标存储为二进制值(或常量),然后将二进制值写入流? – Kane 2010-07-06 10:37:08
我刚刚看了一下,并随机选择了一个图标,创建了一个长度为34494的字节数组。不确定如何获得一个有效的字节数组,其长度为常量。 – 2010-07-06 10:57:23
从查看文档,我认为你将不得不提供一个真正的图标流,我相信它也包含一些元数据。所以如果不在这里使用嵌入式资源,它将很难脱身。 – Grzenio 2010-07-06 11:02:54