使用IDEA写Python之pytest环境搭建及...

liftword1个月前 (03-19)技术文章6




一、准备篇

  • 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

pip install -U pytest


安装成功,如下图所示:


2、验证pytest安装版本

pytest --version


验证成功,如下图所示:

3、编写第一个测试函数
创建名为start.py,具体示例如下:

def add(x):
    return x + 6
def test_result():
    assert add(6) == 12


注意:测试函数必须以test_+函数名命名,否则不执行
4、执行测试
4.1、命令行形式执行
定位start.py同级目录下,输入如下命令,可执行测试函数

pytest start.py


执行成功,如下图所示:


这个测试的结果是失败的,因为add(6)的返回值不是11,导致断言失败
4.2、用编译器执行
我们学习pytest的时候,很多时候通过cmd命令去执行用例,大部分时间我们是通过IDE去编写。调试,为了方便运行,我们可以使用pytest提供的pytest.main()函数运行我们的测试脚本或者例子。
修改测试文件名为,test_start.py,再添加main方法执行,示例代码如下:

if __name__ == '__main__':
    pytest.main()


执行结果如下:


说明:pytest会运行当前目录及子目录下所有以 test_*.py 和 *_test.py 命名的文件。文件匹配方式遵循 Standard test discovery rules。
最后记得给文章点个 " 在看 " ,跟朋友们一起分享学习的喜悦呀。


【长按关注 " 软件测试君 "

作者@糖小幽

编辑@糖小幽

图片@糖小幽

商务合作请联系微信:chandlerman


相关文章

如何在WinPE下集成Python环境

前言在我们日常使用装机的过程中,或者使用winpe环境时,需要做一些自动化相关的事宜,这就需要一些开发语言的支持。本篇文章将带领大家实现在WinPE环境下集成Python。一、下载Python下载Wi...

告别包冲突!用 virtualenv 打造独立 Python 开发环境

在 Python 开发中,不同项目依赖冲突是常见痛点。比如 A 项目需要 Flask 2.0,B 项目却依赖 Flask 3.0,全局安装必然导致版本打架。这时,虚拟环境工具 virtualenv 就...

如何在Eclipse中配置Python开发环境?

Eclipse是著名的跨平台集成开发环境(IDE),最初主要用来Java语言开发。但是我们通过安装不同的插件Eclipse可以支持不同的计算机语言。比如说,我们可以通过安装PyDev插件,使Eclip...

Python第二课:开发环境的使用与代码首次书写

书接上回,安装好Python后,我们就可以使用Python自带的集成开发环境IDLE进行代码的编写。由于此时我们尚未深入学习Python,所以Python自带的IDLE这种使用简单的开发环境成了我们的...

Python多环境管理神器(pyenv)

下面我们来介绍一个python多环境管理神器pyenvpyenvpyenv 主要用来对 Python 解释器进行管理,可以管理系统上的多个版本的 Python 解释器。它的主要原理就是将新的解释器路径...