以前一直用unittest作测试框架,后来在一次面试中被鄙视,以为unittest过低端了,Pytest才高大上。那就来了解下Pytest! python
首先来看下官方文档对pytest最新版本的介绍:nginx

更详细的错误结果输出
面试自动发现测试用例和测试模块微信
能够模块化管理或者参数化化经常使用的测试资源框架
支持unittest和测试套模块化
须要python3.5以上或pypy3以上版本工具
丰富的插件管理,超过315个外部插件和丰富的社区。测试
安装:
this
pip install pytest
运行:
spa
import pytestdef test_Demo(): print("this is a pytest Demo") assert True
if __name__ == '__main__': pytest.main([("test_pytestDemo.py"),("-s")])
运行结果:
这里我是用命令行运行的,也能够在工具上点击运行,个人py文件名是test_pytestDemo.py。
从Demo能够看出,pytest的执行确实比unittest简单一些,至少不须要每一个测试用例都继承unittest.TestCase.
再看,Pytest是如何查找测试用例的?
若是没有指定参数的状况下,若是配置了testpaths设置的目录或者当前目录。另外,能够在命令行中指定目录、文件和ids。
递归找到的目录,除了被指定了morecursedirs的目录
在这些目录中查找test_*.py或者*_test.py的文件,导入他们的测试包
从找到的文件中收集测试用例
test开头的测试功能和类以外的方法
test开头的测试功能和以Test开头的测试类的里面的方法(该类不能复写__init__方法)
简单的理解就是只要指定目录和test_*.py或者*_test.py的格式就能够了。
官方文档地址:https://docs.pytest.org/en/stable/
-------------------------------------最后---------------------------------
更多软件测试相关内容请关注“软件测试道与术”公众号或扫描下方二维码
本文分享自微信公众号 - 软件测试道与术(UTesting)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。