pytest_1安装和启动
一、安装和启动
1.1 安装pytest
1. 键入Ctrl+R,打开cmd,输入命令至python环境下(本机:D:\Python27>)
2. 在python环境下运行下面的命令即可安装pytest
#pip install -U pytest
3. 检查安装的pytest的版本信息是否正确
#pytest --version

1.2第一个测试Demo
1. 创建一个只有4行代码的简单函数:
def fun(x):
return x+1
def test_answer():
assert fun(3)==5
2. 使用pytest运行,首先需进入到文件所在位置(本机:F:\study\ Interface_automation\Interface automation),然后键入命令
#pytest jsonDemo.py

1. 如上图所示,这个结果是失败的,因为func(3)的返回值不是5
1.3运行多个测试
pytest会运行当前目录及子目录下所有以test_*.py和*_test.py命名的文件,文件匹配方式遵循Standard test discovery rules
1.4判断是否发生了指定的异常
1. 使用raises可以判断代码是否抛出了异常:
import pytest
def f():
raise SystemExit(1) def test_mytest():
with pytest.raises(SystemExit):
f()
2. 使用“quiet”模式来执行这个测试:如下图所示

1.5 将多个测试用例放在一个class中
1. 当需要开发多个测试用例的时候,可以将他们放在同一个class中,pytest可以简单的创建包含多个测试用例的class:
class TestClass(object):
def test_one(self):
x="this"
assert 'h' in x def test_two(self):
x='hello'
assert hasattr(x,'check')
2. pytest根据Conventions for Python test discovery查找所有的测试用例,所以可以找到所有以**test_**开头的测试函数,我们可以通过文件名来直接运行整个模块:

3. 如上图所示,第一个测试用例passed,第二个测试用例failed,可以直观的观察到测试用例中进行判断的中间值,这样可以帮助理解测试用例失败的原因。
1.6 为测试用例创建唯一的临时文件夹
1. pytest提供Builtin fixtures/function arguements来创建任意的资源,比如一个具有唯一的临时文件夹:
def test_needsfiles(tmpdir):
print tmpdir
assert 0
2. 如果函数的签名中(函数签名包括函数的参数和返回值,以及参数的封送顺序等等)包含参数tmpdir,pytest就会在执行测试用例之前查找并调用特定的fixture创建所需资源,在本例中,pytest会创建一个unique-per-test-invocation临时文件夹:

关于tmpdir的更多信息请参好Temporary directories and files通过下面的命令可以查看所有内置的pytest fixture:
键入命令:#pytest --fixtures,如下图所示

pytest_1安装和启动的更多相关文章
- Mongodb在windows下的安装和启动
在windows下安装的参考官方地址:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/ Mongodb的安装与启 ...
- MySQL 安装和启动服务,“本地计算机 上的 MySQL 服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止。”
MySQL 安装和启动服务,以及遇到的问题 MySQL版本: mysql-5.7.13-winx64.zip (免安装,解压放到程序文件夹即可,比如 C:\Program Files\mysql-5. ...
- Linux下memcached安装和启动方法
Linux下memcached安装和启动方法 1. 首先下载memcached 和 libevent 包. Memcached用到了libevent这个库用于Socket的处理.下面是下载的两个包文件 ...
- MongoDB安装,启动,注册为windows系统服务
MongoDB安装与启动 周建旭 2014-08-10 解压完后配置环境变量 下载Windows 32-bit或64-bit版本并解压缩,程序文件都在bin目录中,其它两个目录分别是C++调用是的头文 ...
- memcached 在windows下安装及启动
memcached 在windows下安装及启动 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数, ...
- Android 安装和启动另外一个应用
有时候一个应用需要启动另外一个应用来完成操作,比如在某些应用中打开闹钟,相机,日历等等. 启动或安装相应的应用的方法: Step1:判断是否安装目标应用.只要知道目标应用的安装包名就可以通过判断&qu ...
- node.js安装和启动
在Windows上安装 Node.js十分方便,我们只需要访问node.js官网http://www.nodejs.org/,点击Download链接,然后选择Windows Installer(32 ...
- MongoDB入门学习(一)—— 安装和启动
最近由于工作需要,开始学习MongoDB数据库了.第一篇博文就从这里开始吧,以此记录下学习中的点点滴滴,为自己加油呢! (一) MongoDB简介 网上搜搜了一下:(来源:http://www.run ...
- MongoDB Linux下的安装和启动(转)
1. 下载MongoDB,此处下载的版本是:mongodb-linux-i686-1.8.1.tgz.tar. http://fastdl.mongodb.org/linux/mongodb-linu ...
随机推荐
- 华为ensp问题:云映射本地网卡,直连路由器可以ping通,pc却不行?
拓扑图:cloud 云映射本机物理网卡:192.168.56.1 R1可以Ping通,所有Pc都不行,路由表也存在路由信息,不知道什么问题?
- backtop返回页面顶部jquery代码
<div id="toTop" style="width:30px;height:110px;border:1px solid #74B9DC; border-ra ...
- 屏蔽iOS升级方法
1.iPhone或者iPad使用safari浏览器打开http://d.updater.i4.cn/i4tools7/temp/tvos.mobileconfig 2.点击[允许] 3.进入[通用]- ...
- JULY-Record-update
2019/07/26~2019/07/29,关于学习的一些记录 神经网络和深度学习neural networks and deep-learning-中文_ALL(1) 张景,逻辑派,组织派,行为主义 ...
- 高性能mysql 第4章 Schema与数据类型优化
基本原则: 更小的通常更好:占用更少的磁盘 内存和cpu缓存.如varchar(2)和varchar(100). 简单就好:比如整形比字符型代价更低.使用日期型来存储日期而不是字符串.使用整形存储ip ...
- HDU4456-Crowd (坐标旋转处理+hash处理+二维树状数组)
题意: 给出一个矩阵,初始每个位置上的值都为0,然后有两种操作 一种是更改某个位置上的值 另一种是求某个位置附近曼哈顿距离不大于K的所有位置的值的总和 技巧: 坐标旋转,使得操作之后菱形变成方方正正的 ...
- VM删除快照失败,磁盘空间不足,只是删除了快照名字(全网唯一解决办法)
原创: 删除之前的快照,发现只是把名字删除了, 看着这么多文件也不知道怎么删,一顿百度google也是没找到答案 于是就自己琢磨 因为删除快照的时候,是先把快照删除,然后删除无效的文件 所以先让这个盘 ...
- linux 能ping通IP但无法解析域名
vi /etc/nsswitch.conf hosts: files dns networks: files 改成: hosts: files dns wins networks: files 最近碰 ...
- mongodb性能测试:long时间戳与string格式时间
string格式时间写入数据: { "_id" : ObjectId("5d314731a96f332d6c3193d4"), "news_id&qu ...
- Java多线程和并发(七),synchronized
目录 1.线程安全的主要原因 2.互斥锁的特性 3.锁的类别 4.类锁和对象锁的总结 七.synchronized 1.线程安全的主要原因 2.互斥锁的特性 Java中synchronized锁的不是 ...