模块——pytest
pip install pytest
基本使用
- 函数名:需要以
test
开头 - 类名: 需要以
Test
开头,类中的方法需要以test
开头,类中不能有构造方法 - 使用
assert
进行断言 - 脚本名(文件名)需要以
test
开头
用例执行
-
方式
- 脚本:
pytest.main([参数1,参数2,参数3,......])
- 命令行:
pytest 参数 脚本
py.test 参数 脚本
python -m 参数 脚本
- 脚本:
-
参数
-s
: 将print语句的结果输出-v
: 以详细信息显示每条信息的结果-q
: 以简单的形式输出测试结果-k
: 通过关键字匹配脚本,函数名,类名,方法名-x
: 如果执行过程中有fail的用例,则立即停止执行。--maxfail=n
:当失败的用例达到指定的n条时,停止测试-m
: 对用例进行标记 执行指定的用例- 在项目根目录下新建文件
pytest.ini
- 在
pytest.ini
中添加标记
- 使用装饰器标记测试用例
@pytest.mark.标记
- 执行测试时,
-m 标记
即可执行指定的测试用例
- 在项目根目录下新建文件
-
跳过用例
@pytest.mark.skip(reason=xxx)
@pytest.mark.skipif(条件,reason=xxx)
-
参数化
@pytest.mark.parametrize('参数1,参数2,...'),值
- 参数,与被装饰的函数形参相同
- 值,传递给参数的值,若多个值,可以封包到元组中
- 例子:1个参数的情况下
- 例子:多个参数的情况下
-
前置后置
-
模块级,作用范围为当前的模块,模块中的所有用例执行前后分别运行1次前置后置
setup_module()
:前置,所有用例执行前运行1次teardown)module()
:后置,所有用例执行后运行1次
-
函数级,作用范围为当前的函数,函数中的所有用例执行前后分别运行1次前置后置
setup_function()
:前置,每条用例执行前运行1次teardown_function()
:后置,每条用例执行后运行1次
-
类级,作用范围为当前的类,类中的所有用例执行前后分别运行1次前置后置
setup_class()
:前置,所有用例执行前运行1次teardown_class()
:后置,所有用例执行后运行1次
-
方法级,作用范围为当前的方法,方法中的所有用例执行前后分别运行1次前置后置
setup()
/setup_method()
前置,每条用例执行前运行1次teardown()
/teardown_method()
后置,每条用例执行后运行1次
本文由 瑾年 创作,采用 知识共享署名4.0
国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Dec 20,2021