一、pytest 的特点

1、非常容易上手,入门简单,文档丰富,文档中有很多实例可以参考
2、能够支持简单的单元测试和复杂的功能测试
3、支持参数化
4、执行测试过程中可以将某些测试跳过(skip),或者对某些预期失败的case标记成失败
5、支持重复执行(rerun)失败的 case
6、支持运行由 nose, unittest 编写的测试 case
7、可生成 html 报告
8、方便的和持续集成工具 jenkins 集成
9、可支持执行部分用例
10、具有很多第三方插件,并且可以自定义扩展

二、执行 pytest

1、如果只执行 pytest ,会查找当前目录及其子目录下以 test_.py 或 _test.py 文件,找到文件后,在文件中找到以 test 开头函数并执行
2、如果只想执行某个文件,可以 pytest start.py
3、加上-q,就是显示简单的结果: pytest -q start.py

三、Pytest用例的设计原则

1、文件名以 test.py 文件和_test.py
2、以 test
开头的函数
3、以 Test 开头的类,不能包含 init 方法
4、以 test 开头的类里面的方法
5、所有的包 package 必须要有_init
.py 文件

四、Pycharm运行Pytest

1、首先,我们先要去settings里面设置单元测试框架为Pytest
2、如果是nosetests的话,右键运行是以python脚本运行的哦
3、如果设置了unittest则是以unittest框架去运行(pytest 是可以兼容 unittest脚本的)
image.png

五、项目依赖包导入导出

1、导入

方法一:
> cd 项目文件
> pip freeze > requirements.txt 会在项目根目录生成requirements.txt文件(会生成所有)
方法二:
> pip install pipreqs
进入需要生成文件的目录执行: pipreqs ./ (或者直接 pipreqs D:\test(实际路径))
在此时可能会遇见
UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0x80 in position 776: illegal multibyte sequence
这个错误.
解决方法:指定编码格式 pipreqs ./ —encoding=utf8

2、安装依赖包

cd 项目根目录
> pip install -r requirements.txt
Pycharm会自动识别