背景
在使用pytest框架进行自动化测试时,确实会遇到用例数量增加或执行时间较长时,全量测试变得不切实际的问题。为了优化测试流程,一方面可以增加测试并发量,另一方面可以使用缓存测试,重试的时候只重跑上次失败的测试用例。本文将介绍如何构造测试缓存执行指定用例
pytest 测试缓存介绍
pytest 的测试缓存功能允许在测试运行之间存储一些数据,以便在后续的测试运行中重用。这可以包括测试结果、配置选项等。缓存的数据存储在 .pytest_cache 目录中。
默认情况下,pytest 会自动启用缓存功能。你不需要做任何额外的配置。
- .pytest_cache/v/cache/lastfailed:
这个文件用于存储上次运行测试时失败的测试用例的列表。pytest 会在下次运行时读取这个文件,以便快速定位并重试上次失败的测试。这有助于提高测试效率,特别是在大型项目中。 - .pytest_cache/v/cache/nodeids:
这个文件包含了所有测试用例的节点 ID(node IDs)。节点 ID 是 pytest 用于唯一标识测试用例的字符串。这个文件可以帮助 pytest 跟踪测试用例的状态和结果。
构造缓存
根据对.pytest_cache的介绍,可以知道我们只需要将需要执行的用例按照一定的格式写入.pytest_cache/v/cache/lastfailed文件中即可,并且修改一下pytest的启动配置命令,就可以只执行我们想要执行的用例