首页 > 其他 > 详细

Pytest VS Unittest 简单说一下之间的优缺点

时间:2020-06-11 03:42:01      阅读:208      评论:0      收藏:0      [点我收藏+]

一、什么是单元测试框架?

unittest 是python标准的单元测试框架模块

pytest 是python第三方库的测试框架

二、从兼容性方面考虑

因unnitest是标准库,所以unnitest的兼容性更强

三、安装方面

unnitest是标准库,python是自带的,安装python以后可以直接导入

第三方库:需要独立安装,要注意兼容性,有可能会存在安装不成功,或者是某些库的功能使用不了。

四、unittest 的使用更加复杂一些, pytest 更加容易使用。

eg:

unittest 

第一步:初始化测试套件

获取当前目录,
第二部:testloader.discover(test_case_dir), 加载测试用例
第三部:测试用例添加到测试套件
#生成测试报告的目录和文件名
第四步:启动器, 运行, testrunner.run()


pytest , 自动收集测试用例,自动执行测试用例。

pytest 运行:
1, pytest.main() python: 代码形式. 生产环境。
2, 命令行的形式 : 在项目根目录下运行 pytest 命令
3, pycharm 右键运行(如果pycharm 没有出现 pytest 命令,run. configraiton 当中进行配置。)

五、断言

pytest    assert 1=1

unittest  assertEqual(expected,autual)

六、pytest可以灵活运用指定的测试用例,标签化,回归,正向、冒烟、登陆

七、pytest (夹具)环境管理灵活,会话、模块,哪个用,哪个不用。fixture,setup,tearDown,setupClass,setUpModule

八、pytest有丰富的插件,测试报告。eg: allure

九、pytest 和unnitest/nose兼容 意思是以unnitest的框架写的用例,以pytest去执行是可以的,但是反之就不行。

十、pytest发现用例的格式为:

pytest 收集测试用例的规则(pytest 将怎样的函数看成是测试用例)
1, 模块名: test_*.py 或者是 *_test.py
2, 类名: TestLogin
3,   方法名: test_
4,   pytest 的测试用例并不一定要以类的形式存在,可以直接以函数的形式存在:
def test_demo():
      pass
5.类形式:
class TestYang:
# 不要写 __init__() 函数, 容易报错
def test_yangleduo(self):
      pass

当在哪个文件夹,(目录)执行 pytest 指令,那么 pytest 会自动发现当前目录下所有

test_ 开头的 py 文件,将这些文件当成测试用例文件.

unnitest 不能找到直接以函数的形式存在的用例

 

Pytest VS Unittest 简单说一下之间的优缺点

原文:https://www.cnblogs.com/yannuo-666/p/13089744.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!