pytest与unittest框架的对比
pytest与unittest是自动化测试框架中两个经典的测试框架,pytest可以完成所有unittest功能的同时还拥有一些unittest无法做到的功能,使用起来更加灵活。
这两个框架的差异主要体现在以下几个方面:
1.测试用例的编写:
unittest将所有测试用例封装于类中且继承于unittest.TestCase类;pytest既可以封装也可以不封装成类
2.断言方式更简洁:
unittest断言形式为self.assert… ;pytest断言直接assert即可
3.fixture级别:
unittest中fixture名称固定为setUp和tearDown,级别为测试方法、测试类级别的;pytest中fixture名称自行定义不固定,级别更丰富,有测试函数、测试类、测试模块、会话多个级别
4.测试用例加载:
unittest需要引入TestSuite来收集测试用例;pytest可以自动识别用例
5.数据驱动方式不同:
6.其他:
pytest有丰富的插件,如alluer生成更美观的测试报告;pytest的失败重运行机制提高了测试用例稳定性;mark标签可以更便利的筛选测试用例…………
--总之,pytest功能非常强大,已经会unittest框架的小伙伴们赶紧学起来吧~不过,虽然非常强大,但也因此会很灵活,所以还是建议先学习uniitest,在学会uniitest的基础上再学pytest会比直接学习来的更容易理解些~
下一篇,详细介绍一下pytest的具体使用
别怕路长梦远👣,总有星河照耀✨,未来可期💖

浙公网安备 33010602011771号