说到自动化,无论是接口自动化还是UI自动化,有两个框架都是大家非常熟悉的,目前流行的python测试框架分别是pytest与unittest框架,那么这两个框架到底哪一个更好用呢?下面我来说说。
1、unittest:
unittest是python内嵌的测试框架,原名为PyUnit。unittest框架里提供了test cases、test suites、test fixtures、test runner相关的类,让测试更加明确、方便、可控。使用unittest编写用例,必须遵守以下规则:
1.测试文件必须先import unittest
2.测试类中必须继承unittest.TestCase
3.测试方法必须以“test_”开头
4.测试类必须要有unittest.main()方法
5、测试中需有run.py文件来运行测试脚本
2、pytest:
pytest是python的第三方测试框架,是基于unittest的扩展框架,比unittest更简洁,更高效。使用pytest编写用例,必须遵守以下规则:
1.测试文件名必须以“test_”开头(如:test_ab.py)
2.测试方法必须以“test_”开头
这里很明显,编写测试用例的方法pytest就比unittest简单很多。
pytest可以执行unittest风格的测试用例,无须修改unittest用例的任何代码,有较好的兼容性。
pytest插件丰富,比如flask插件,可用于用例出错重跑;还有xdist插件,可用于设备并行执行。
3、总结:
个人还是比较推荐使用pytest框架的,原因:pytest中的编写测试用例格式比较简单,兼容性高,可同时兼容unittest,插件非常丰富,使用第三方插件allure,方便标记测试用例和重跑用例等等.