python测试开发之pytest框架(1)
见识简洁的单元测试 pytest
Python中很多大牛其实都有严重的强迫症,追求简洁和优雅的代码。必然的,他们会抛弃标准库中的unittest,使用或者发明自己心仪的单元测试框架。
正如其名,pytest是一个无数人推荐并在使用的Python单元测试框架,它使用起来非常简单,只要你的方法名以 test 开头就可以,你可以和需要测试的方法放在一起,亦或是新建一个文件来专门整理单元测试,都可以。
def your_func(): pass def test_your_func(): assert result
这样的设计,就让你写单元测试成了顺手拈来的事,假如你写完了一个方法,想看看是否工作,在旁边直接写上一个test 开头的方法,稍微准备一下数据就可以验证这个方法好不好用,岂不妙哉?
pytest 的发明让大家意识到单元测试原来可以这么轻松和随意,完全没有必要去继承一个所谓的测试类或者按照复杂的规则才能开始书写测试代码,这也是我选择和推荐它的理由。
当然,如果原来你的单元测试时unittest写的话,pytest其实也是有可能兼容的的。
pytest 能够识别 unittest.TestCase 子类中的测试方法,如果文件名符合 test_*.py 或者 *_test.py 这样的规则。
并且大多数 unittest 的功能都是被支持的,例如:
- @unittest.skip 装饰器;
- setUp/tearDown;
- setUpClass/tearDownClass();
我觉得,pytest有以下优点:
- 上手和使用足够简单
- 当case失败时信息足够丰富和直观,比如最后导致失败的变量值会打印出来
- 更丰富的运行参数
- 可以使用 assert 而不是 self.assert*
- 被广大IDE支持,社区资源丰富,用户群体大
让单元测试和IDE无缝集成
毕竟我们大多数人都不是神,不能用记事本写代码,IDE才是我们正确搬砖的方式。Python的首选IDE毋庸置疑就是 JetBrain 公司出品的 PyCharm。
在PyCharm中只要你将默认的单元测试驱动改成pytest,就可以在任意test开头的方法上通过右键菜单运行或者调试这个测试案例,非常方便。
如果你要运行当前文件的所有测试,只要从非test方法的其他区域点击右键即可。或者修改任意已经运行过的Configuration,添加你想要的参数,比如最多运行挂3个case就终止测试等等。
- Python之使用unittest框架和HTMLTestRunner.py文件实现多个测试用例执行与测试报告生成
- python pytest测试框架介绍二
- Python单元测试框架之pytest -- 生成测试报告
- python pytest测试框架介绍一
- python pytest测试框架介绍四----pytest-html插件html带错误截图及失败重测机制
- Python单元测试框架之pytest---如何执行测试用例
- python pytest测试框架介绍三
- Python Unittest 自动化单元测试框架Demo
- python web开发框架django安装和测试
- python+selenium个人开发的自动化测试框架
- python doctest测试框架
- python的pytest框架之命令行参数详解(上)
- python unittest测试框架介绍
- python的web开发框架django安装指南(已测试)
- Python+request+unittest实现接口测试框架集成实例
- python+selenium+unittest多个py文件,运行生成测试报告
- python 测试框架doctest
- python测试框架——unittest和nosetest
- selftest测试框架开发
- Python+request+unittest实现接口测试框架集成实例