前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >pytest,有没有兴趣了解一下

pytest,有没有兴趣了解一下

作者头像
我被狗咬了
发布2019-09-23 10:12:15
6470
发布2019-09-23 10:12:15
举报
文章被收录于专栏:Python乱炖Python乱炖

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

它的优点:

简单的单元测试

复杂的功能测试

可以跳过你想跳过的那部分测试

可以扩展

..................

那首先来安装一下吧!

pip install -U pytest

那么pip将会自动帮你安装

当然如果你装好了,它也会提示你已经装了

可以查看一下Version:

下面我们就可以动手来试试咯。

执行测试的时候,我们只需要在测试文件test_sample所在的目录下,运行py.test即可。pytest会在当前的目录下,寻找以test开头的文件(即测试文件),找到测试文件之后,进入到测试文件中寻找test_开头的测试函数并执行。

创建一个测试文件test1.py

def fun(x):

return x+1

def test_fun():

assert fun(2)==2

之后就可以运行测试啦,终端输入py.test即可查看程序的具体情况。

当需要编写多个测试样例的时候,我们可以将其放到一个测试类当中

我们可以通过执行测试文件的方法,执行上面的测试:py.test -q testdemo.py

编写测试样例的时候我们可能要注意以下几点:

测试文件以test开头

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

测试函数以test_开头

断言使用assert

执行pytest测试样例的时候,我们是如何执行的呢?

最简单的,只要终端处于当前执行py测试文件的目录:

py.test

如果是在某个模块里运行pytest的话:

py.test test1.py

指定某个路径去运行:

py.test somepath

只去运行某个字符表达式里面的东西:

py.test -k stringexpression

最后一点,如何去生成测试报告:

pytest可以方便的生成测试报告,可以生成HTML的测试报告,或者xml格式的报告等等。

那我们现在来看看:

生成txt格式的报告:

py.test --resultlog=report.txt

生成xml格式的报告:

py.test --junitxml=path/log.xml

生成html格式的报告:(需要安装一下pip install -U pytest-html)

py.test test_report.py --html=C:\Users\Desktop\log.html

待续。。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-08-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python乱炖 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档