2010-08-15 89 views

回答

4

如果此类使用第三方库生成绘图/图表(例如matplotlib),那么您可以编写针对为库生成输入的方法的测试。这将是相当容易的。

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

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

+0

的确,matplotlib为此提供了一个很好的图像比较装饰器。 – epoch 2010-08-15 15:10:06

4

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

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

相关问题