Unittest二进制文件输出

时间:2012-08-10 14:02:37

标签: python unit-testing tdd

我有一个像素数组,我希望保存到图像文件中。 Python似乎有一些库可以为我做这个,所以我将使用其中一个,传入我的像素数组并使用我没有编写的函数将图像头和数据写入磁盘。

如何针对这种情况进行单元测试?

我可以:

  • 测试我传递给外部库的像素数组是我所期望的。
  • 测试我调用的外部库函数给出了预期的返回值。
  • 手动验证图像看起来像我期待的(通过打开图像并注视它)。

我不能:

  • 测试图像文件是否正确。要做到这一点,我必须要生成一个要比较的图像(但是我如何生成那个'值得信赖的'图像?),或者编写一个可单元测试的图像写入模块(所以我不需要打扰外部图书馆。

这足以为我的代码提供保险吗?测试我的代码和外部库之间的接口是否足够,让我相信外部库(图像文件)的输出通过手动眼球是正确的?

如何编写单元测试以确保您使用的外部库符合您的期望?

1 个答案:

答案 0 :(得分:3)

在Python上有点旧。

但这就是我接近它的方式。

抓取图像进行手动测试。计算校验和(也许是MD5)。然后,自动化测试需要通过计算MD5(在此示例中)与在手动测试中完成的MD5进行比较。

希望这有帮助。