| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> pytest基础学习第一课 -> 正文阅读 |
|
[开发测试]pytest基础学习第一课 |
什么是pytestpytest是一个非常成熟的全功能的Python测试框架,主要特点有以下几点: 1、简单灵活,容易上手,文档丰富; 注:看到下面实例确实容易上手,简单灵活和文档丰富目前还未能体会 2、支持参数化,可以细粒度地控制要测试的测试用例; 注:怎么细粒度控制测试用例和怎么参数化还不理解 3、能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试(pytest+requests); 注:selenium/appnium,pytest+requests这些词代表什么含义还不清楚 4、pytest具有很多第三方插件,并且可以自定义扩展
注:这个NB的插件怎么用没有体会 5、测试用例的skip和xfail处理; 注:代表什么含义不清楚 6、可以很好的和CI工具结合,例如jenkins 注:怎么和Jenkins结合很值得研究 测试case编写规则
运行pytest的前提是已经安装了pytest module,如果未安装可直接使用pip install pytest进行安装 快速示例test_pytest_demo.py
通过命令行运行: 1、cd 到代码所在的目录,执行命令:py.test?test_pytest_demo.py ?注:执行命令也可以是pytest?test_pytest_demo.py 2、安装pytest-sugar插件可以看到进度条 ?注:在pycharm的terminal下运行未看到有进度条,只看到有一个运行时间和一串飘绿的东东 Pycharm配置运行: file->Setting->Tools->Python Integrated Tools->项目名称->Default test runner->pytest 选中待测试的文件,右键run之后,得到结果如下:
这时确实能看到各个测试case的进度。 Console常用参数介绍:
注:由上面可见pytest支持各种各样的测试模式,非常灵活 pytest参数化使用装饰器:@pytest.mark.parametrize() 单个参数:
?参数x分别被赋为1,2,6传递到test_add函数中运行,所以test_add函数一共会被执行3次。randrange函数是随机数产生顺序,randrange(1,7)代表产生一个1~7的随机整数 多个参数:
参数 x,y 分别被赋给(1+2,3),(2-0,1)... ... ("test", "test") 传递到test_add函数中?,所以test_add函数一共会被执行5次。 控制测试程序运行顺序安装pytest-ordering pip install pytest-ordering 借助于装饰器@pytest.mark.run(order=1)控制测试运行的顺序
上面例子中会先运行 order = 1的test_add(),然后运行order = 2的test_add2() 运行后生成测试报告(htmlReport)安装pytest-html: pip install -U pytest-html 如何使用: py.test test_pyexample.py --html=report.html 使用上面的案例实测之后会在相应的目录下生成html的报告 更详细的测试报告安装 pytest-cov: pip install pytest-cov py.test --cov-report=html --cov=./ test_code_target_dir Console参数介绍 --cov=[path], measure coverage for filesystem path (multi-allowed), 指定被测试对象,用于计算测试覆盖率 --cov-report=type, type of report to generate: term, term-missing, annotate, html, xml (multi-allowed), 测试报告的类型 --cov-config=path, config file for coverage, default: .coveragerc, coverage配置文件 --no-cov-on-fail, do not report coverage if test run fails, default: False,如果测试失败,不生成测试报告 --cov-fail-under=MIN, Fail if the total coverage is less than MIN. 如果测试覆盖率低于MIN,则认为失败 注:具体运行命令后续研究 多进程运行安装pytest-xdist: pip install -U pytest-xdist 如何使用: py.test test_pyexample.py -n NUM 其中NUM填写并发的进程数。 测试案例重新运行安装pytest- rerunfailures 如何使用: 命令:pytest --reruns 重试次数 比如:pytest --reruns 3 表示:运行失败的用例可以重新运行3次 命令:pytest --reruns 重试次数 --reruns-delay 次数之间的延时设置(单位:秒) 比如:pytest --reruns 3 --reruns-delay 5 表示:(译:瑞软四、地类)运行失败的用例可以重新运行3次,第一次和第二次的间隔时间为5秒钟 另外也可以通过装饰器的方式配置: @pytest.mark.flaky(reruns=3, reruns_delay=5) 上述内容参考下面链接: |
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/18 0:46:45- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |