一、准备篇
- Python环境:3.8.3
- 开发工具:IDEA,对你没有看错
二、IDEA下安装开发环境
1. python的下载
https://www.python.org/downloads/
PS:关于Python的环境搭建,此处略
2. IDEA下python插件的安装
点击File->Settings...->Plugins,点击marketplace选项卡,在里面搜索python,如下图所示:
点击install,重启即可。
3. IDEA下的配置
File->New->Project,可以看到左边的项目类型中多了一个python。点击它
如果你的电脑中已经安装过了python的环境,它会自动检测SDK。如果没有安装,这里推荐使用Anaconda,安装与配置方法请移步python神器——Anaconda(点击【原文链接】查看)。
三、pytest实践
pytest是一个非常成熟的全功能的Python测试框架,主要特点有以下几点:
- 简单灵活,容易上手,文档丰富;
- 支持参数化,可以细粒度地控制要测试的测试用例;
- 能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试(pytest requests);
- pytest具有很多第三方插件,并且可以自定义扩展,比较好用的如pytest-selenium(集成selenium)、pytest-html(完美html测试报告生成)、pytest-rerunfailures(失败case重复执行)、pytest-xdist(多CPU分发)等;
- 测试用例的skip和xfail处理;
- 可以很好的和CI工具结合,例如jenkins
1、安装pytest
代码语言:javascript复制pip install -U pytest
安装成功,如下图所示:
2、验证pytest安装版本
代码语言:javascript复制pytest --version
验证成功,如下图所示:
3、编写第一个测试函数
创建名为start.py,具体示例如下:
代码语言:javascript复制def add(x):
return x 6
def test_result():
assert add(6) == 12
注意:测试函数必须以test_ 函数名命名,否则不执行
4、执行测试
4.1、命令行形式执行
定位start.py同级目录下,输入如下命令,可执行测试函数
代码语言:javascript复制pytest start.py
执行成功,如下图所示:
这个测试的结果是失败的,因为add(6)的返回值不是11,导致断言失败
4.2、用编译器执行
我们学习pytest的时候,很多时候通过cmd命令去执行用例,大部分时间我们是通过IDE去编写。调试,为了方便运行,我们可以使用pytest提供的pytest.main()函数运行我们的测试脚本或者例子。
修改测试文件名为,test_start.py,再添加main方法执行,示例代码如下:
代码语言:javascript复制if __name__ == '__main__':
pytest.main()
执行结果如下:
说明:pytest会运行当前目录及子目录下所有以 test_*.py 和 *_test.py 命名的文件。文件匹配方式遵循 Standard test discovery rules。