python定义test方法_python-pytest学习(一)- 简介和环境准备

一、pytest简介

pytest是Python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更加简洁,效率更高。根据pytest的官方网站介绍,它具有如下特点:

1.非常容易上手,入门简单,文档丰富,文档中有很多实例可以参考;

2.能够支持简单的单元测试和复杂的功能测试;

3.支持参数化;

4.执行测试过程中可以将某些测试跳过(skip),或者对某些预期失败的case标记成失败

5.支持重复执行(return)失败的case

6.支持运行由nose,unittest编写的测试case

7.可生成html报告

8.方便的喝持续集成工具Jenkins集成

9.可支持执行部分用例

10.具有很多第三方插件,并且可以自定义扩展

二、安装pytest

pytest是python语言的一个测试的第三方的苦,那么我们首先需要【安装】。

1.安装方法

因为python是python语言的一个测试的第三方的库,所以安装方法和第三方类库一样通过命令执行,命令如下:

pip install -U pytest

2.查看是否安装成功

出现  Successfully installed pytest-X.X.X  就是安装成功了。

3.查看安装版本——方法一

pip show pytest

4.查看安装的版本——方法二

pytest --version

三、实地挑战

1.新建一个test_sample.py文件,(文件命名以test_*开头或者*_test结尾)

2.代码实现:

def func(x):

return x +1

def test_answer():

assert func(3)==5

3.运行结果——运行代码方法一

在terminal中输入pytest(或者输入py.test也可以),运行代码后,控制台打印如下结果:

4.运行结果——运行方法二

打开test_sample.py所在的文件夹,在cmd窗口输入:pytest(或者输入py.test也可以)运行代码后,控制台打印的结果和之前的方法出来是差不多的。

5.pytest运行规则:**查找当前目录及其子目录下以test_*.py或*_test.py文件,找到文件后,在文件中找到以test开头的函数并执行。**

四、执行测试类

1.前面是写的一个test开头的测试函数,当用例用多个的时候,写函数就不太合适了。这时可以把多个测试用例,写到一个测试类里。

代码实现:

class TestClass:

def test_one(self):

x = "this"

assert "h" in x

def test_two(self):

x = "hello"

assert hasattr(x, "check")

2.运行结果

3.打开cmd,cd到test_class.py的文件目录,如果只想运行这个文件,加上-q参数,-q参数用来指定执行的文件,不指定就执行该文件夹下的所有的用例。pytest 会找到符合规则(test_.py和_test.py)所有测试,因此它发现两个test_前缀功能。如果只想运行其中一个,可以指定传递文件名test_class.py来运行模块:

备注:-q,--quit decrease verbosity(显示简单结果)

py.test -q test_class.py

第一次测试通过,第二次测试失败。可以在断言中轻松查看失败的原因

五、使用规则

1.测试文件以test_开头(以_test结尾也可以)

2.测试类以Test开头,并且不能带有__init__方法

3.测试函数以test_开头

4.断言使用assert

参考文章:https://mp.weixin.qq.com/s/k09cZrWy5Y6-IR85ON9sXQ

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值