Pytest
Pytest 是 Python 下用于编写和运行测试的框架,核心能力包括:测试发现(按约定收集 test_*.py / *_test.py 中的 test_ 函数或方法)、断言(直接使用 assert,并借助断言重写输出详细失败信息)、fixture(依赖注入式的准备与清理)以及插件体系(如覆盖率、并行、与 CI 集成等)。它脱胎于 PyPy 生态,在替代早期基于 unittest 和 nose 的写法时,因「约定优于配置」、无需继承、语法简洁而成为事实标准;官方文档见 pytest 官网。
设计上,Pytest 依赖几条主线:约定优于配置(test_ 前缀、conftest.py 即插件)、assert 重写(在收集阶段改写测试模块中的 assert,失败时展示子表达式取值)、conftest(按目录层级共享 fixture 与本地钩子)、以及标记与参数化(@pytest.mark、@pytest.mark.parametrize)用于筛选用例与多组入参。理解这些有助于正确组织测试和排查行为。