pytest测试框架
文章平均质量分 80
周承森
崇尚 技术无壁垒
展开
-
pytest_框架(4)_fixture简介及调用
params: 用于给fixture传参,可实现数据基于fixture的数据驱动,接收一个可以迭代的对象, 比如:列表[], 元组[], 字典列表{[],[],[]}、字典元组{(),(),()},提供参数数据供调用fixture的用例使用;与setup、teardown类似,fixture提供了测试执行前和测试执行后的处理,但是又比setup、teardown更灵活好用,比如:fixture命名更加灵活,不局限于setup和teardown。结果:每个测试用例都执行了fun_zd_1、fun_zd_2。原创 2024-05-23 23:11:04 · 2060 阅读 · 1 评论 -
pytest_框架(7) -- fixture跨模块共享(conftest.py)
模块级别的fixture: 在conftest.py中定义的fixture默认具有模块级别的作用域,即意味着他们会为该模块中的所有测试用例执行一次,你可以通过置顶不同的scope参数来改变这个行为-- function、class、session。控制测试并执行: 若使用的pytest-xdist 插件来并行执行测试, conftest.py 中的fixture 可以被用来控制并行测试的行为,例: 通过scope= 'module' 来确保每个模块的测试在单独的进程中执行。原创 2024-06-17 22:42:36 · 1995 阅读 · 1 评论 -
pytest_框架(3) - pytest固件、及用例执行顺序
示例: 一个module, 两个函数, 两个类,每个类-两个方法。结论:pytest框架默认根据书写代码的先后顺序来执行。概念: 固件用于执行前的初始化参数、执行后的清理动作。pyest固件、及用例执行顺序。原创 2024-05-15 22:35:37 · 433 阅读 · 0 评论 -
pytest_框架 -- 介绍及基本使用
settings中,进入Tools -> Python Intergrated Tools,Default test runner默认是自动发现的,可以直接选择pytest。8、支持很多第三方插件(顺序控制pytest-ordering、 allure报告allure-pytest、多线程 pytest-xdist 等),并可自定义开发插件。用于pytest运行时的参数,比如-k、-m等,有通用类、报告类、收集类、调试类、日志类等。test_a改为失败,一个成功一个失败,成功是.,失败是F。原创 2024-05-12 23:15:09 · 869 阅读 · 0 评论 -
pytest_框架(5) - fixture实现自定义前置、后置
如果你在fixture函数中使用yield,你可以在yield之前和之后执行代码,这允许你在测试函数执行前后进行设置和清理。在Python的unittest框架中,yield关键字用于创建生成器,而在pytest测试框架中,yield被用来创建fixture(固定装置),这是一种特殊的测试函数,用于设置测试环境并提供测试数据。在pytest中,使用yield可以创建一个临时的fixture,它允许你在测试函数执行前后执行代码。写在yield 前面的是 前置条件, 写在yield 后面的是 后置条件。原创 2024-06-03 23:39:21 · 803 阅读 · 2 评论 -
pytest_框架 - 用例查找规则
演示 -- 下面命令统一加上 -vs 参数。原创 2024-05-12 23:27:59 · 393 阅读 · 1 评论 -
pytest_框架(6) - fixture作用域(scope)详解
执行顺序遵循: session > package > module > class > function。执行顺序尊许:sesstion->package->module->class->function。在模块和类中有同名的fixture存在时: 局部优先, 也就是类中fixture优先。在模块和类中有同名的fixture存在时:局部优先,也就是类中fixture优先。模块中的fixture对函数、方法均有效。模块中的fixture对函数、方法均有效。测试类中的fixture只对方法有效。原创 2024-06-13 23:10:11 · 714 阅读 · 1 评论