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的具体使用

posted @ 2021-01-08 14:54  小幸运||  阅读(222)  评论(0)    收藏  举报