专栏首页测试人生使用IDEA写Python之pytest环境搭建及第一个程序编写

使用IDEA写Python之pytest环境搭建及第一个程序编写

一、准备篇

  • 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。

本文分享自微信公众号 - 软件测试君(backlight2018),作者:糖小幽

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-09-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Pytest学习(四) - fixture的使用

    写这篇文章,整体还是比较坎坷的,我发现有知识断层,理解再整理写出来,还真的有些难。

    软件测试君
  • Pytest失败自动重跑的几种实现方法

    pytest-repeat这个插件,可以帮助我们很好的解决自动化测试过程中的一些偶线性bug,但前提是,当前自动化脚本是独立的,不依赖任何其他脚本。

    软件测试君
  • Pytest学习(一)- 入门及基础

    作为一个java党,对于IDEA的喜欢程度,不用我多说,相信每个java编码的同学,都是爱不释手的。

    软件测试君
  • pytest文档70-Hook钩子函数完整API总结​

    pytest 的钩子函数有很多,通过钩子函数的学习可以了解到pytest在执行用例的每个阶段做什么事情,也方便后续对pytest二次开发学习。 详细文档可以查看...

    上海-悠悠
  • pytest封神之路第二步 132个命令行参数用法

    在Shell执行pytest -h可以看到pytest的命令行参数有这10大类,共132个

    dongfanger
  • pytest源码目录概要分析

    在python安装目录的lib/site-packges下,分为pytest.py 和_pytest目录

    苦叶子
  • pytest 测试框架学习(15):pytest.freeze_includes

    freeze_includes: 返回包括 cx_freeze 提供的 pytest 使用的模块名称列表。 源码:

    Mokwing
  • jenkins学习5-jenkins拉取git仓库代码,执行python自动化脚本

    python自动化的脚本开发完成后需提交到git代码仓库,接下来就是用Jenkins拉取代码去构建自动化代码了

    上海-悠悠
  • Pytest之基本介绍

    Pytest 是 Python 的一种单元测试框架,与 Python 自带的 unittest 测试框架类似,但是比 unittest 框架使用起来更简洁,效率...

    ITester软件测试小栈
  • pytest 测试框架学习(1):初识

    3.3. 在输入框中输入 pytest 后,点击下方 Install Package,安装成功会弹出 install successfully 的提示信息。...

    Mokwing

扫码关注云+社区

领取腾讯云代金券