一、什么是单元测试框架?
unittest 是python标准的单元测试框架模块
pytest 是python第三方库的测试框架
二、从兼容性方面考虑
因unnitest是标准库,所以unnitest的兼容性更强
三、安装方面
unnitest是标准库,python是自带的,安装python以后可以直接导入
第三方库:需要独立安装,要注意兼容性,有可能会存在安装不成功,或者是某些库的功能使用不了。
四、unittest 的使用更加复杂一些, pytest 更加容易使用。
eg:
unittest
第一步:初始化测试套件
获取当前目录,
第二部:testloader.discover(test_case_dir), 加载测试用例
第三部:测试用例添加到测试套件
#生成测试报告的目录和文件名
第四步:启动器, 运行, testrunner.run()
pytest , 自动收集测试用例,自动执行测试用例。
import pytest
pytest.main()
五、断言
pytest assert 1=1
unittest assertEqual(expected,autual)
六、pytest可以灵活运用指定的测试用例,标签化,回归,正向、冒烟、登陆
七、pytest (夹具)环境管理灵活,会话、模块,哪个用,哪个不用。fixture,setup,tearDown,setupClass,setUpModule
八、pytest有丰富的插件,测试报告。eg: allure
九、pytest 和unnitest/nose兼容 意思是以unnitest的框架写的用例,以pytest去执行是可以的,但是反之就不行。