pytest学习(一)

1.pycharm设置运行pytest

File→Settings→Tools→python Integrated Tools→packaging中Package requirements file选择对应的工程文件目录→Testing中Default test runner选择pytest
在这里插入图片描述
在这里插入图片描述

2.命名规范

包名、模块名、局部变量名、函数名:
全小写+下划线式驼峰
example: this_is_var

全局变量:
全大写+下划线式驼峰
example: GLOBAL_VAR

类名:
首字母大写式驼峰,否则会报错提示语法错误
example: ClassName()

3.测试用例规则

  • 测试文件以test_开头(以_test结尾也行)
  • 测试类以Test开头,并且不能带有__init__方法
  • 测试函数以test_开头
  • 断言使用基本的assert即可

4.pytest前置和后置

(1)模块级别:setup_module/teardown_module,整个.py全部用例开始前执行/全部用例执行完后执行

(2)函数级别:setup_function/teardown_function,只对函数级别生效,每个用例开始前和结束后执行一次

(3)类级别:setup_class/teardown_function,只对类级别生效,类里面所有用例开始前执行一次,所有用例执行完执行一次

(4)方法级别:setup_method/teardown_method,只是类里面方法级别生效,方法开始前执行一致,方法结束后执行一次

(5)方法级别:setup/teardown,这个与setup_method/teardown_method用法很类似,但是级别比method级别要低,也就是说在同一个方法中会先执行setup_method再执行setup,方法结束后先执行teardown再执行teardown_method

pytest自定义设置前置和后置:

通过fixture可以自定义pytest的前置和后置,格式fixture(scope=”function”, params=None, autouse=False, ids=None, name=Noe)

scope:有四个级别,function(默认),class,module,session

params:参数列表

autouse:False为默认值,意思代表需要根据设置的条件(scope级别)来激活fixture,如果为Ture,则表示所有function级别的都被激活fixture

ids:每个字符串id的列表,感觉没啥实质性作用

name:fixture的名字

5.参数化

通过装饰器@pytest.mark.parametrize来实现
在这里插入图片描述

6.生成报告

1.生成Allure报告
下载allure

配置环境变量

pip install allure-pytest或在pycharm中下载allure-pytest
-

import pytest,allure

@allure.feature('学习pytest')
class Testclass:
    @allure.story('这是第一个用例')
    def test_1
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值