python - 单元测试二进制文件输出

标签 python unit-testing tdd

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

对于这种情况我该如何进行单元测试?

我可以:

  • 测试我传递给外部库的像素数组是否符合我的预期。
  • 测试我调用的外部库函数是否为我提供了预期的返回值。
  • 手动验证图像是否符合我的预期(通过打开图像并观察它)。

我不能:

  • 测试图像文件是否正确。为此,我必须生成一个图像进行比较(但如何生成“值得信赖”的图像?),或者编写一个可单元测试的图像写入模块(这样我就不需要费心了完全外部库)。

这足以覆盖我的代码吗?测试我的代码和外部库之间的接口(interface)是否足够,让我通过手动目测相信外部库(图像文件)的输出是正确的?

如何编写单元测试以确保您使用的外部库达到您的预期?

最佳答案

Python 有点老了。

但这就是我的处理方式。

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

希望这有帮助。

关于python - 单元测试二进制文件输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11903310/

相关文章:

python - 我正在尝试用 python 开发一个测试运行器

java - 朱尼特 : Test case for New Method which Returns Object

c# - 存在依赖时如何设计可模拟性?

python 写错误

python - 如何配置 pytest 以避免在缺少导入时收集失败?

python - 获取调用该函数的文件的绝对路径

python - 如何确定 Python 脚本是否通过命令行运行?

c# - app.configs 和 MSTest 项目 - 连接字符串的空引用

javascript - 如何孤立地测试纯函数调用树?

tdd - TDD最佳做法,方法等资源