生成图像的单元测试代码的最佳方法是什么?

时间:2010-08-15 14:27:12

标签: unit-testing testing integration-testing

生成图像的单元测试代码的最佳方法是什么?比方说,例如,一个生成情节或图表的类?

2 个答案:

答案 0 :(得分:4)

我使用的方法是生成一个“已知良好”的文件,将其存储在源代码树中,然后作为测试的一部分对其进行二进制比较。如果文件内容匹配,则输出没有改变。

这不允许您测试生成图像的所有可能的输入组合,但对基本回归测试很有用。

答案 1 :(得分:4)

如果此类使用第三方库生成绘图/图表(例如matplotlib),那么您可以为生成库的输入的方法编写测试。这将非常简单。

如果输出是图像,并且您有兴趣验证其属性,那么您将不得不深入挖掘。可以容易地验证外部图像属性(大小,高度,格式等),但是诸如图像的实际内容之类的其他属性将非常困难。恕我直言,这不值得麻烦。

如果输出是非二进制的(比如SVG),那么您可以轻松编写测试以确保输出XML包含您要查找的内容。