当前位置: 首页 > news >正文

pytest实战演练

pytest实战演练

pycharm常见操作
创建项目使用虚拟环境

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

创建文件夹的时候建议使用的创建方式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 这样创建是因为python3.0版本之后导包无区别,之前版本导包会报错的
_init_.py文件中建议为空不写内容

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

_all_=[]的含义
  • 是将列表中的方法或变量或类暴漏出去便于使用的
  • 生效方法,当调用模块中使用 import * 时才生效

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

联动git使用

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

pytes实战2

#####测试代码

#!/usr/bin/env python
# -*- coding:utf-8 -*-class Calc:def add(self, a, b):return a + bdef div(self, a, b):return a / b
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import unittestfrom pytest_exercise.python.calc import Calcclass TestCal(unittest.TestCase):def test_add_1(self):self.calc = Calc()result = self.calc.add(1, 2)self.assertEqual(3, result)if __name__ == '__main__':unittest.main()
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import sys
import unittestimport pytestfrom pytest_exercise.python.calc import Calcclass TestCal():def setup(self):self.calc = Calc()def test_add_1(self):result = self.calc.add(1, 2)print(result)assert 3 == resultdef test_div(self):self.calc = Calc()result = self.calc.div(2, 2)assert 1 == resultif __name__ == '__main__':pytest.main(["-vs", "test_pytest.py::TestCal::test_div"])
新特性,自定义变量后的数据类型提示格式
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# type:类星体是class Calc:def add(self, a: int, b: int) -> int:return a + bdef div(self, a, b):return a / b
pytest常用参数

#####pytest --collect-only

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

pytest按顺序执行
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import sys
import unittestimport pytestfrom pytest_exercise.python.calc import Calcclass TestCal():def setup(self):self.calc = Calc()@pytest.mark.run(order=2)def test_add_1(self):result = self.calc.add(1, 2)print(result)assert 3 == result@pytest.mark.run(order=1)def test_div(self):self.calc = Calc()result = self.calc.div(2, 2)assert 1 == resultif __name__ == '__main__':pytest.main(["-vs", "test_pytest.py::TestCal"])
pytest.ini文件的应用(修改匹配对应的测试用例的方法)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

导出依赖包

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

反射代码片段
#!/usr/bin/env python
# -*- coding: utf-8 -*-class Person:def __init__(self, name):self.name = namedef eat(self):print(f"{self.name} is eating")p = Person('jerry')print(hasattr(p, 'name'))
f = getattr(p, "eat")
f()

init__(self, name):
self.name = name

def eat(self):print(f"{self.name} is eating")

p = Person(‘jerry’)

print(hasattr(p, ‘name’))
f = getattr(p, “eat”)
f()

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 集成电路学习:什么是RTC实时时钟
  • 利用AI大语言模型和Langchain开发智能车算法训练知识库(上篇)
  • UE引擎工具链
  • SealSuite 一站式 IT 管理与办公安全解决方案,助力出海企业夯实数字化底座
  • 【生日视频制作】海上绿色摩托艇汽车艇车身AE模板修改文字软件生成器教程特效素材【AE模板】
  • OpenCV颜色空间转换(1)颜色空间转换函数cvtColor()的使用
  • 单元测试 Mock不Mock?
  • P7072 [CSP-J2020] 直播获奖
  • 解决Metasploit调用Nessus报错问题
  • Kafka【十三】消费者消费消息的偏移量
  • 使用LLaMA-Factory快速训练自己的专用大模型
  • 在 Windows 环境下实现免密登录 Linux 服务器
  • Spring之Bean的生命周期 2024-9-6 19:47
  • 水晶连连看 - 无限版软件操作说明书
  • 分布式光伏的优势
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • If…else
  • java第三方包学习之lombok
  • jdbc就是这么简单
  • Redis学习笔记 - pipline(流水线、管道)
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • Windows Containers 大冒险: 容器网络
  • 官方解决所有 npm 全局安装权限问题
  • 开源地图数据可视化库——mapnik
  • 提醒我喝水chrome插件开发指南
  • 用简单代码看卷积组块发展
  • 云大使推广中的常见热门问题
  • 在electron中实现跨域请求,无需更改服务器端设置
  • Python 之网络式编程
  • 第二十章:异步和文件I/O.(二十三)
  • 回归生活:清理微信公众号
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • ######## golang各章节终篇索引 ########
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • #QT项目实战(天气预报)
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (差分)胡桃爱原石
  • (机器学习的矩阵)(向量、矩阵与多元线性回归)
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (转)C#调用WebService 基础
  • (转)http协议
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • **PHP二维数组遍历时同时赋值
  • *Django中的Ajax 纯js的书写样式1
  • .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)...
  • .Net 6.0--通用帮助类--FileHelper
  • .NET Core WebAPI中封装Swagger配置
  • .net websocket 获取http登录的用户_如何解密浏览器的登录密码?获取浏览器内用户信息?...
  • .net 连接达梦数据库开发环境部署
  • .NET/C# 避免调试器不小心提前计算本应延迟计算的值
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • .NET开发不可不知、不可不用的辅助类(三)(报表导出---终结版)
  • .Net下使用 Geb.Video.FFMPEG 操作视频文件