为什么要学pytest?
首先说下为什么要学pytest,在此之前相信大家已经掌握了python里面的unittest单元测试框架,那再学一个框架肯定是需要学习时间成本的。刚开始我的内心是拒绝的,我想我用unittest也能完成自动化测试,干嘛要去学pytest呢?
最近看到越来越多的招聘要求会pytest框架了,也有小伙伴出去面试说会unittest框架被鄙视的。所以学此框架应该至少有以下2个理由,第一条已经足够:
· 学会了可以装逼
· 可以避免被面试官鄙视
pytest简介
pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。根据pytest的官方网站介绍,它具有如下特点:
· 非常容易上手,入门简单,文档丰富,文档中有很多实例可以参考
· 能够支持简单的单元测试和复杂的功能测试
· 支持参数化parametrize,比unittest的ddt更简单
· 执行测试过程中可以将某些测试skip跳过,或者对某些预期失败的case标记成失败
· 强大的fixture自定义功能,这个是框架的核心亮点功能
· pytest-rerunfailures(失败case重复执行)
· pytest-html(完美html测试报告生成,失败截图展示)
· allure2漂亮的html报告展示
· 方便的和jenkins持续集成工具集成
· 支持运行由nose, unittest, doctest框架编写的测试case
· 可以用来做web和app自动化(pytest+selenium/appnium)、接口(pytest+requests)
为什么这么好的框架没多少人用?
最主要原因是会的人少,网上大部分教程都是python的unittest框架,初学者理所当然都是学习unittest框架了,由于网上中文教程(pytest官方文档英文版还是很全的)资料少,现在可能还不是主流框架,过1-2年会的人多了,也就是主流框架了。
可以毫不夸张的说,pytest框架比unittest先进20年,是未来这2年的趋势!
百度阅读购买
《 python自动化框架pytest》本书已经上架百度阅读,搜索方法