pytest封神之路第零步 快速入门
背景:本文是在系列第五篇发表后的补充篇章,第一篇介绍了tep,可能对不熟悉pytest的朋友不够友好,特意补充入门篇,帮大家快速了解如何动手写pytest。如果你是从这篇文章第一次阅读,那么请忽略以上。
安装Python和编辑器PyCharm。Python安装包下载地址是https://www.python.org/downloads/,推荐3.8版本。PyCharm安装包下载地址是
https://www.jetbrains.com/pycharm/download/ ,下载Community社区版即可。下载后按常规软件安装。
pytest
pytest是Python内置包,无需单独安装,但是需要设置。
创建1个Project和1个test.py来试试,左上角点击 File | New Project | create,创建项目。在项目中右键选择 New | File 创建test.py
接着设置PyCharm,默认PyCharm自带的测试框架是Unittests,在 File | Settings | Tools | Python Integrated Tools | Testing | Default test runner,修改为pytest
在test.py文件中添加代码
def test():
pass
这个时候def的左边会出现一个绿色的箭头,点击之后就可以使用pytest运行,注意一定要是 pytest for... 才可以,如果只是 Run test.py,是不走pytest执行的(右上角Edit Configurations删掉来解决)
执行之后控制台输出信息就可以了
Testing started at 11:10 AM ...
"D:Program Files (x86)Python38-32python.exe" "D:Program FilesJetBrainsPyCharm Community Edition 2020.1.2pluginspython-cehelperspycharm_jb_pytest_runner.py" --target test.py::test
Launching pytest with arguments test.py::test in D:PycharmProjectsuntitled
============================= test session starts =============================
platform win32 -- Python 3.8.3, pytest-5.4.3, py-1.9.0, pluggy-0.13.1 -- D:Program Files (x86)Python38-32python.exe
cachedir: .pytest_cache
rootdir: D:PycharmProjectsuntitled
collecting ... collected 1 item
test.py::test PASSED [100%]
============================== 1 passed in 0.14s ==============================
Process finished with exit code 0
至此,pytest的环境就准备好了。
tep
安装tep,在PyCharm中打开左下角的Terminal,既可以用pypi,也可以用国内镜像,推荐国内镜像更快
pypi
pip install tep
国内镜像,同时设定超时,提高安装成功率
pip --default-timeout=600 install -i https://pypi.tuna.tsinghua.edu.cn/simple tep
安装tep的同时,会自动安装requests、allure、faker、jmespath、loguru、deepdiff、pymysql、sqlalchemy、texttable、pandas、numpy等实用第三方包。
至此,tep的环境就准备好了。
如果有任何问题,请及时留言联系我。
pytest封神之路第零步 快速入门 pytest封神之路第一步 tep介绍 pytest封神之路第二步 132个命令行参数用法 pytest封神之路第三步 精通fixture pytest封神之路第四步 内置和自定义marker pytest封神之路第五步 参数化进阶 持续更新中...
- as3:Function以及call,apply
- centos6下redis cluster集群部署过程
- centos6下ActiveMQ+Zookeeper消息中间件集群部署记录
- 发布一个轻量级的滑块控件
- as3:sprite作为容器使用时,最好不要指定width,height
- openssl版本升级操作记录
- 清除浮动(clearfix hack)
- Linux下环境变量配置方法梳理(.bash_profile和.bashrc的区别)
- 小程序火爆的因素
- Log4Net使用心得
- nginx通过https方式反向代理多实例tomcat
- Linux系统下yum镜像源环境部署记录
- 特斯拉vs凯迪拉克vs奔驰:三大汽车自动驾驶系统比拼
- Centos下添加静态路由(临时和永久有效)的操作记录
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- CentOS7 Zookeeper安装
- 【STM32F429开发板用户手册】第38章 STM32F429的FMC总线应用之是32路高速IO扩展
- 【STM32F429开发板用户手册】第39章 STM32F429的FMC总线应用之SDRAM
- react项目搭建
- 深入理解Java泛型(三)-泛型擦除及其相关内容
- webpack实战——预处理器(loader)【下篇】
- JAVA位运算等运算符总结
- 算法实现,用机器学习模拟一个opencv的边缘识别算法
- 开源公共组件仓库的更新日志应该如何写
- 判断ABAP代码是否处于update模式下运行的工具类
- SAP CRM WebClient UI异常的持久化机制
- 在ABAP Webdynpro里显示PDF的一种办法
- ABAP Webdynpro Interface View的用法
- ABAP Webdynpro里Component Usage的用法
- ABAP Webdynpro - 如何使用用户自定义的value help