<4>pytest:用例执行
目录:测试自动化学习 - pytest
说明:本篇博客基于pytest 6.2.5
用例标记
-
添加标签
标记:装饰器@pytest.mark.标记名 -
添加sikp标记
装饰器跳过:装饰器@pytest.mark.skip(reason="跳过说明")
代码跳过:代码中添加pytest.skip("跳过说明")
装饰器条件跳过:装饰器@pytest.mark.skipif(跳过条件,reason= "跳过说明") -
添加fail标记
xfail提示:装饰器@pytest.mark.xfail(reason="失败说明"),通过则返回xpass,失败返回xfail
跳过且直接fail:代码中添加pytest.fail("失败说明")
pytest终端命令执行
选择用例
执行所有用例:pytest 包名/模块名
执行某个类用例:pytest 文件名.py::类名
执行某个方法用例:pytest 文件名.py::类名::方法名
执行某个函数用例:pytest 文件名.py::函数名
执行参数
查看帮助文档:pytest --help
打印执行详情:pytest 用例 -v
打印执行略情:pytest 用例 -q
打印输出日志:pytest 用例 -s
查看用例集:pytest --collect-only
执行失败,停止执行:pytest 用例 -x
失败上限,停止执行:pytest 用例 --maxfail=num
执行标记用例:pytest 用例 -m 标记名
执行关键字用例:pytest 用例 -k 关键字
重新运行失败用例:--lf(--last-failed)
先运行失败用例再运行其他用例:--ff(--failed-first)
python -m pytest命令执行
备注:了解即可
python -m pytest test_run.py
python main执行
备注:可在main中添加pytest命令
import pytest
def test_case():
assert 1 == 1
if __name__ == '__main__':
# 1.执行所有用例
pytest.main()
# 2.执行特定用例
# pytest.main(["test_run.py::test_case"])
# pytest.main("./")
# 3.其他参数
# pytest.main(["test_run.py", "-vs"])
# pytest.main(["test_run.py", "-vs", "-k", "case"])
注意:以main函数方式在pycharm中执行时,py文件不能以test_xx或xx_test命名
原因:文件使用了pytest命名,pycharm会自动转换为pytest的运行方式,自动搜索用例进行运行,而不再运行pytest.main()
例:如图pytest.main()设置是只运行单条用例,实际是全部运行了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程