我有一个像素数组,我希望将其保存到图像文件中。 Python 似乎有一些库可以为我执行此操作,因此我将使用其中一个库,传入我的像素数组并使用我没有编写的函数将图像头和数据写入磁盘。
对于这种情况我该如何进行单元测试?
我可以:
- 测试我传递给外部库的像素数组是否符合我的预期。
- 测试我调用的外部库函数是否为我提供了预期的返回值。
- 手动验证图像是否符合我的预期(通过打开图像并观察它)。
我不能:
- 测试图像文件是否正确。为此,我必须生成一个图像进行比较(但如何生成“值得信赖”的图像?),或者编写一个可单元测试的图像写入模块(这样我就不需要费心了完全外部库)。
这足以覆盖我的代码吗?测试我的代码和外部库之间的接口(interface)是否足够,让我通过手动目测相信外部库(图像文件)的输出是正确的?
如何编写单元测试以确保您使用的外部库达到您的预期?
最佳答案
Python 有点老了。
但这就是我的处理方式。
抓取图像进行手动测试。计算校验和(也许是 MD5)。然后,自动化测试需要通过计算 MD5(在本例中)与手动测试中完成的 MD5 进行比较。
希望这有帮助。
关于python - 单元测试二进制文件输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11903310/