Python pytest 1、前言Python 测试相关库 unittest:内置库,模仿 PyUnit 写的,简洁易用,缺点是比较繁琐。unittest+HTMLTestRunner。 nose:测试发现,发现并运行测试。 pytest:目前喜欢用这个,写起来很方便,并且很多知名开源项目在用,推荐。 mock:替换掉网络调用或者 rpc 请求等 Python 鄙视链:pytest 鄙视 > unittest 鄙 2016-08-04 Python > Pytest #Python #Pytest
Python pytest 之 fixture 前言 虽然 setup 和 teardown 可以执行一些前置和后置操作,但是这种是针对整个脚本全局生效的 如果有以下场景:1.用例一需要执行登录操作;2.用例二不需要执行登录操作;3.用例三需要执行登录操作,则setup和teardown则不满足要求。 fixture 可以让自定义测试用例的前置条件 fixture 的优势 命名方式灵活,不限于 setup 和 teardown 两种命名 co 2016-08-04 Python > Pytest #Python #Pytest
Python pytest 之 setuo 和 teardown Pytest 的 setup 和 teardown 函数setup 和 teardown 主要分为:模块级别、类级别、函数级别、方法级别、方法细化级别,分别如下: 方法 描述 setup_module() 在每个模块之前执行 teardown_module() 在每个模块之后执行 setup_class() 在每个类之前执行,即:在一个测试类只运行一次 setup_class 2016-08-04 Python > Pytest #Python #Pytest
Python pytest 之 skip @pytest.mark.skip(reason="")12345@pytest.mark.skip(reason="")跳过执行测试用例,加在函数上,类上,类方法上。如果加在类上面,类里面的所有测试用例都不会执行参数 reason:跳过的原因,会在执行结果中打印 示例 12345678910111213141516171819202122232425262728293 2016-08-04 Python > Pytest #Python #Pytest
flask SQLAlchemy 报错 Detached InstanceError... Detached InstanceError:Instance is not bound to a Session 关闭session后使用SQLAlchemy对象_Goodwillie的博客-CSDN博客报错详情12sqlalchemy.orm.exc.DetachedInstanceError: Instance <EntityXxxxxx at 0x32768d0> is not 2016-08-04 Python > Flask #Python #Flask
flask SQLAlchemy 连接失效 现象我们使用 SQLAlchemy ORM 操作数据库,当 create_engine 使用默认参数的时候,连接池是打开着的。对大部分数据库来说,poolclass 默认为 QueuePool。当一个请求进来,SQLAlchemy 会创建一个数据库连接,执行结束后把连接放回池子里。下一个请求来的时候,就可以直接使用之前的连接。当然,如果同时进来多个不够分配的时候,会创建另外的连接用于使用,执行结束 2016-08-04 Python > Flask #Python #Flask
flask jijia2模板使用(一) 前言在以前前后端不分离的时代,后台程序员往往又当爹又当妈,需要将前端程序员写的h5页面填充模板语言。而jijia2是一门十分强大的python的模板语言,是flask框架的核心模块之一。先简单介绍一下jijia2模板的用法。 变量模板可以说是直接展示给客户端的,那么在模板中有视图函数传递给模板的普通变量和可以直接使用的全局变量。 普通变量 变量的语法结构 123<p>{ 2016-08-04 Python > Flask #Python #Flask
flask jijia2模板使用(二) 前言前面学习了jijia2模板语言的一些基础知识,接下来继续深挖jijia2语言的用法。 控制语句和python语言一样,模板语言也有自己的控制语句,比如条件语句、循环语句等等; 条件语句if1234567{% if name and name == 'admin' %} <h1>This is admin console 2016-08-04 Python > Flask #Python #Flask
flask restful 入门 flask restful 官方文档 首页 安装 快速入门(已收录) 一个最小的 API 资源丰富的路由(Resourceful Routing) 端点(Endpoints) 参数解析 数据格式化 完整的例子 请求解析(已收录) 基本参数 必需的参数 多个值&列表 其它目标(Destinations) 参数位置 多个位置 继承解析 输出字段 基本用法 重命名属性 默认值 自定义字段 2016-08-04 Python > Flask #Python #Flask
flask restful 请求解析 Flask-RESTful 的请求解析接口是模仿 argparse 接口。它设计成提供简单并且统一的访问 Flask 中 flask.request 对象里的任何变量的入口。 需要注意地是与 argparse 模块不同,reqparse.RequestParser.parse_args() 返回一个 Python 字典而不是一个自定义的数据结构。 基本参数一个简单的例子。它寻找在 flask.Re 2016-08-04 Python > Flask #Python #Flask
flask restplus Request Parsing-请求解析 link: https://flask-restplus.readthedocs.io/en/stable/parsing.html# Flask-RESTPlus 的请求解析接口 ,reqparse是根据该接口建模的argparse。它旨在提供对 flask.requestFlask 中对象上的任何变量的简单且统一的访问。 基本参数这是请求解析器的一个简单示例。它在flask.Request 2016-08-04 Python > Flask #Python #Flask
flask restplus marshal-响应编组 官方连接:https://flask-restplus.readthedocs.io/en/stable/marshalling.html Flask-RESTPlus 提供了一种简单的方法来控制您在响应中实际呈现的数据或期望在输入负载中的数据。使用该fields模块,您可以在资源中使用所需的任何对象(ORM 模型/自定义类/等)。 fields还允许您格式化和过滤响应,因 2016-08-04 Python > Flask #Python #Flask
flask restplus swagger Swagger API 文档是自动生成的,可从您的 API(path='/) 的 path 对应的值获取。@api.doc()您可以使用装饰器配置文档。 使用@api.doc()装饰器记录装饰器api.doc()允许您在文档中包含其他信息。可以装饰一个类或方法: 123456789@api.route('/my-resource/<id>', endpoint='my-reso 2016-08-04 Python > Flask #Python #Flask
flask restplus 入门 写flask接口,需要向前端提供swagger接口文档,因此需要自动生成swagger文档,可以使用 flask-restplus 库。 我们平常用的RESTful风格的开发依赖包是flask-restful,但是他不能自动生成 swagger 文档,flask-restplus可以自动生成 swagger 文档,两者之间并没有什么太大的区别,flask-restful有的东西和使用方法在flas 2016-08-04 Python > Flask #Python #Flask
flask 和 jinja 版本对应关系 Flask 和 Jinja2 之间的版本对应关系在 Flask 安装时会告诉你它支持的 Jinja2 版本。 1234567891011121314> pip install flask==0.12.1Collecting flask==0.12.1 Downloading Flask-0.12.1-py2.py3-none-any.whl (82 kB) |███████████ 2016-08-04 Python > Flask #Python #Flask
flask 多进程多线程 app.run() 中可以接受两个参数,分别是 threaded 和 processes,用于开启线程支持和进程支持。 1app.run(processes=5, threaded=True) threaded:是否开启多线程,默认不开启。 processes:进程数量,默认为 1。 注: Windows 环境不支持多进程。若在 windows 环境开启多进程,即设置 processes 2016-08-04 Python > Flask #Python #Flask
flask 设置响应消息 1、Flask 设置个性化的响应体、响应头、状态码flask 设置个性化的响应体、响应头、状态码 有两种方式 使用return直接设置特定的响应信息 使用 make_response 设置特定的响应信息 1.1、使用return直接设置特定的响应信息1234567891011121314151617181920from flask import Flaskapp = Flask(import_ 2016-08-04 Python > Flask #Python #Flask
flask 配置 SQLAlchemy 相关SQLALCHEMY_COMMIT_ON_TEARDOWN 设置是否在每次请求结束后自动提交数据库中的变动。如果该常量为True,则每次请求结束后都会自动提交数据库中的变动。 1SQLALCHEMY_COMMIT_ON_TEARDOWN = True 源码 12345678@app.teardown_appcontextdef shutdown_session(res 2016-08-04 Python > Flask #Python #Flask
Python 第三方模块之 APScheduler - 定时任务 介绍APScheduler的全称是Advanced Python Scheduler。它是一个轻量级的 Python 定时任务调度框架。APScheduler 支持三种调度任务:固定时间间隔,固定时间点(日期),Linux 下的 Crontab 命令。同时,它还支持异步执行、后台执行调度任务。 APScheduler基于Quartz的一个Python定时任务框架,实现了Quartz的所有功能,使用 2016-08-03 Python > Python 第三方模块 #Python #Python 第三方模块
Python 第三方模块之 Celery - 分布式任务队列 Celery简单介绍Celery 是一个基于 Python 开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理,如果你的业务场景中需要用到异步任务,就可以考虑使用 Celery,举几个实例场景: 你想对100台机器执行一条批量命令,可能会花很长时间 ,但你不想让你的程序等着结果返回,而是给你返回一个任务ID,你过一段时间只需要拿着这个任务id就可以拿到任务执行结果,在任务执行ing 2016-08-03 Python > Python 第三方模块 #Python #Python 第三方模块