pytest-cache背后的想法是什么?

use*_*754 7 python testing pytest

pytest缓存

它似乎是一个缓存func/args->结果对的工具,甚至可以在testsuite-runs之间保持它们.这对加快速度似乎是一个好主意.但是我没有注意到任何提及自动检测功能源代码的变化和使相应的高速缓存条目无效.这似乎打败了运行测试套件的目的,因为测试的代码更改不会被反映出来.

hpk*_*k42 8

pytest-cache 做两件事:

  • 提供一种机制,通过该机制,其他插件可以通过其获取/设置值config.cache.get|set.它被用于pytest-pep8pytest-flakes例如存储上次检查的修改时间,以避免重新检查文件中的所有时间.

  • 存储测试失败,以便您可以运行--lf以仅运行上次故障并--ff首先运行上次故障,然后运行其余测试.

该功能必将移至核心pytest-2.7(未发布至今)或后续版本.


lmi*_*asf 6

在 中pytest 3.4.0,所做的更改之一是:

默认的缓存目录已经从更名.cache.pytest_cache社区的反馈后,该名.cache没有做出明确表示,它是使用pytest。

根据docspytest-cache已集成到 中pytest 2.8,该插件提供了两个命令行选项来重新运行上次 pytest 调用的失败:

  • --lf, --last-failed - 只重新运行失败。
  • --ff, --failed-first- 首先运行故障,然后运行其余的测试。对于清理(通常不需要),一个--cache-clear选项允许在测试运行之前删除所有跨会话缓存内容。

由于pytest版本 3.8.1 (2018-09-22).pytest_cache目录包含其自己的.gitignore文件并被 Git 自动忽略。(查看更多