首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

django-rest_framework api框架学习day1

加油奥利给 *** 首先需要安装rest-framework *** pip install framework *** 接着在setting-installed-apps中注册 ***...’, ‘rest_framework’, ‘ajax’, ] *** 注册完成之后路由上的写法也有些不同, URL *** from django.urls import path...JsonResponse **** 下面来看具体的写法 *** class Order(View): dispatch这个方法是所有的请求进来就先交个他处理,可以自己定义,不过建议自己定义...还是遵从规则好点,因为各种类型的请求都是经过他的处理然后才返回数据的 def dispatch(self, request, *args, **kwargs): return HttpResponse(‘是被执行的...号继续学习restfulapi接口 *** 今天内容是数据的返回,直接上代码吧 *** def get(self,request,*args,**kwargs): # 通过kwargs拿到api接口传递进来的数据

1.3K40
您找到你想要的搜索结果了吗?
是的
没有找到

使用ddt实现unittest参数化测试

为什么需要参数化 我们在写单测,需要考虑到各种场景,通过输入各种场景的值执行目的的方法,来判断输出是否是我们所期待的值。...元组的数据可以由ddt解开后注入到单测方法参数。...在某些业务,输入的参数过于复杂,并且场景繁多,如果将参数数据全部放在单测代码,则会显得繁重,而且代码不易读,ddt提供了从json文件读取参数来作为单测的输入数据。...如果你看到本文其实比较推荐你使用pytest来替代unittest使用,pytest也有参数化的使用,并且可以单独的去运行每一个单测。...是因为在做一个django项目,其中使用的是django test来写单测的,而django test是基于Unittest来实现的,所以只能使用ddt来实现参数化。

57010

第 15 篇:接口的单元测试

只需要在代码发布前运行一遍单元测试,受影响的功能立即就会报错,这样就能在代码部署前发现问题,从而避免线上事故。...下面是 djnago 单元测试框架的一些要点: django 的单元测试框架基于 Python 的 unittest 测试框架。...django 提供了多个 XXTestCase 类,这些类均直接或者间接继承自 unittest.TestCase 类,因为 django 的单元测试框架是基于 unittest 的,所以编写的测试用例类也都需要直接或者间接继承...相信修复这个 bug 对你来说应该已经是轻而易举的事了,因此留作练习吧,这里不再讲解。 重新运行一遍测试,得到 ok 的状态。...将预期的逻辑写成测试代码如下,需要注意的一点是因为这个辅助类涉及 django 数据库方面的操作,因此我们直接继承自更为简单的 unittest.TestCase,这可以提升测试速度: # filename

1.2K20

Python任务自动化工具tox使用教程

细分的用途包括: 创建开发环境 运行静态代码分析与测试工具 自动化构建包 针对 tox 构建的软件包运行测试 检查软件包是否能在不同的 Python 版本/解释器顺利安装 统一持续集成(CI)和基于命令行的测试...可以变化成:{env:KEY:DEFAULTVALUE},在取不到环境变量时则使用默认值;{env:KEY:{env:DEFAULT_OF_KEY}},达到 if-else 的取值效果 传递命令行参数:...章节间传值:{[sectionname]valuename},不同章节的内容可以传递使用。...其工作流程主要的环节有: 配置(从figuration):加载配置文件(如 tox.ini),解析命令行参数,读取系统环境变量等打包(packaging):可选的,对于带有 setup.py 文件的项目...但跟 unittest 和 pytest 这些测试框架不同,它作用的是代码层面之外的事情,是一种项目级的工具。

2K10

Python 任务自动化工具 tox 教程

刚翻译完的 Python 打包系列文章,作者提到了一个神奇的测试工具 tox,而且他本人就是 tox 的维护者之一。...细分的用途包括: 创建开发环境 运行静态代码分析与测试工具 自动化构建包 针对 tox 构建的软件包运行测试 检查软件包是否能在不同的 Python 版本/解释器顺利安装 统一持续集成(CI)和基于命令行的测试...可以变化成:{env:KEY:DEFAULTVALUE},在取不到环境变量时则使用默认值;{env:KEY:{env:DEFAULT_OF_KEY}},达到 if-else 的取值效果 传递命令行参数:...其工作流程主要的环节有: 配置(从figuration):加载配置文件(如 tox.ini),解析命令行参数,读取系统环境变量等 打包(packaging):可选的,对于带有 setup.py 文件的项目...但跟 unittest 和 pytest 这些测试框架不同,它作用的是代码层面之外的事情,是一种项目级的工具。

1.3K10

unittest框架核心要素及应用

1. unittest核心要素 unittest介绍 测试框架,不仅仅用于单元测试 python自动的测试包 用法和django.test.TestCase类似 1.1【知道】unittest介绍和核心要素...创建Mock()对象,传递异常对象 mock_obj = unittest.mock.Mock(side_effect=BaseException('自定义异常')) #...创建Mock()对象,传递list mock_obj = unittest.mock.Mock(side_effect=[1,2,3]) # mock_obj是对象,可调用对象...创建Mock()对象,传递函数名 mock_obj = unittest.mock.Mock(side_effect=func) # mock_obj是对象,可调用对象,...运行,同时生成测试报告 # 参数1:生成文件的注释, 参数2:生成文件的filename, 参数3:生成report的文件存储路径 runner.report('报告描述必须有,在报告显示为用例名称

40910

面试分享系列 | 17道Python面试题,让你在求职中无往不利

定义lambda函数的形式如下:labmda 参数:表达式lambda函数默认返回表达式的值。你也可以将其赋值给一个变量。lambda函数可以接受任意个参数,包括可选参数,但是表达式只有一个。...copy 仅拷贝对象本身,而拷贝对象引用的其它对象。 deepcopy 除拷贝对象本身,而且拷贝对象引用的其它对象。 8.os.path和sys.path的区别?...14.解释下Django使用redis缓存服务器 为了能在Django中使用redis,还需要安装redis for Django的插件。然后在Django的settings配置了。...现在连接和配置都已经完成了,接下来是一个简单的例子: 15.如何进行Django单元测试 Django的单元测试使用python的unittest模块,这个模块使用基于类的方法来定义测试。...类名为django.test.TestCase,继承于python的unittest.TestCase。

1.1K40

面试分享:17道Python面试题,让你在求职中无往不利

定义lambda函数的形式如下:labmda 参数:表达式lambda函数默认返回表达式的值。你也可以将其赋值给一个变量。lambda函数可以接受任意个参数,包括可选参数,但是表达式只有一个。...copy 仅拷贝对象本身,而拷贝对象引用的其它对象。 deepcopy 除拷贝对象本身,而且拷贝对象引用的其它对象。 8.os.path和sys.path的区别?...14.解释下Django使用redis缓存服务器 为了能在Django中使用redis,还需要安装redis for Django的插件。然后在Django的settings配置了。...image 15.如何进行Django单元测试 Django的单元测试使用python的unittest模块,这个模块使用基于类的方法来定义测试。...类名为django.test.TestCase,继承于python的unittest.TestCase。 ?

60210

面试分享系列 | 17道Python面试题,让你在求职中无往不利

定义lambda函数的形式如下:labmda 参数:表达式lambda函数默认返回表达式的值。你也可以将其赋值给一个变量。lambda函数可以接受任意个参数,包括可选参数,但是表达式只有一个。...copy 仅拷贝对象本身,而拷贝对象引用的其它对象。 deepcopy 除拷贝对象本身,而且拷贝对象引用的其它对象。 8.os.path和sys.path的区别?...14.解释下Django使用redis缓存服务器 为了能在Django中使用redis,还需要安装redis for Django的插件。然后在Django的settings配置了。...现在连接和配置都已经完成了,接下来是一个简单的例子: 15.如何进行Django单元测试 Django的单元测试使用python的unittest模块,这个模块使用基于类的方法来定义测试。...类名为django.test.TestCase,继承于python的unittest.TestCase。

73510

Python+request+unittest实现接口测试框架集成实例

---- 1、为什么要写代码实现接口自动化 大家知道很多接口测试工具可以实现对接口的测试,如postman、jmeter、fiddler等等,而且使用方便,那么为什么还要写代码实现接口自动化呢?...例如,想将测试结果生 成 HMTL 格式测试报告,想将测试报告发送到指定邮箱。想对接口测试做定时任务。想对接口测试做持续集成。这些需求都是工具难以实现的。...为什么开发接口?开发的接口主要给谁来用? 前端和后端分离是近年来 Web 应用开发的一个发展趋势。...两个参数都是可选的。首先,判断当两个参数同时为空,接口返回状态码10021,参数错误。...URL地址,params设置接口的参数参数以字典形式组织。

1.2K20

python基础菜鸟教程_菜鸟课程好还是文都好

第二步,在Pycharm中新建Django项目。 在Pycharm左上角的菜单栏,依次点击:File–>new project–>Django。在Location那一栏可以选择项目存放的位置。...3.1传参配置路由 urls.py urls通常使用正则。...p1=china&p2=2019. url‘?’之后表示传递参数,这里传递了p1和p2两个参数。 通过这样的方式传递参数,就不会出现因为正则匹配错误而导致的问题了。...视图函数的request参数与HttpRequest应该是有所区别的但是暂时没办法给大家总结出来(有知道的小伙伴们可以在下面回复讨论!)。 这里列出的只是request参数的属性。...return redirect(object) # object指的是视图函数 传递一个视图的名称,可以带有位置参数和关键字参数;将使用reverse() 方法反向解析URL: def my_view(

1.7K10

美多商城项目(四)

其实快餐文化你得不到任何养分,那些只是昙花一现。承认如今互联网带给我们极大的便利,但是真正从中学习的人又有多少呢?放下手机,发呆一会,思考一下自己的路。...成功是因为什么,失败又是因为什么,善于总结,即使是失败,也是你一笔宝贵的财富。 ?...可以添加一个邮箱设置序列化器类;email序列化和反序列化时都用;自动生成的字段email默认是可以传递的,我们修改为必传;将 required改为True。 2.设置登录用户的邮箱。...内置的邮件发送功能在django.core.mail模块。...团队开发注意事项 浅谈密码加密 Django框架的英文单词 Django数据库的相关操作 DRF框架的英文单词

1.2K30

面试分享系列 | 17道Python面试题,让你在求职中无往不利

定义lambda函数的形式如下:labmda 参数:表达式lambda函数默认返回表达式的值。你也可以将其赋值给一个变量。lambda函数可以接受任意个参数,包括可选参数,但是表达式只有一个。...copy 仅拷贝对象本身,而拷贝对象引用的其它对象。 deepcopy 除拷贝对象本身,而且拷贝对象引用的其它对象。 8.os.path和sys.path的区别?...14.解释下Django使用redis缓存服务器 为了能在Django中使用redis,还需要安装redis for Django的插件。然后在Django的settings配置了。...单元测试 Django的单元测试使用python的unittest模块,这个模块使用基于类的方法来定义测试。...类名为django.test.TestCase,继承于python的unittest.TestCase。

58220

Python入门三部曲(三)

8.函数 1.定义函数: 使用关键字def来告诉python你要定义一个函数 接着指出函数名:如下面函数名是—greet_user ()是必须带上的,这里可以可以传递一些参数,也可以传 以:结尾,且与后面所有的缩进构成了函数体...2.传递实参 1.位置实参 需要注意参数位置 def describe_pet(animal_type,pet_name): print("\nI have a " + animal_type...这里面就创建了一个一个Car类,不要问我为什么这么写,这就是约定。...在java里这个叫构造函数 里面有带了几个参数来填充属性,还可以添加默认参数,里面添加了一个odometer_reading这个属性 这里面添加了两个方法get_descriptive_name 和...只能在继承unittest.TestCase的类中使用这些方法 unittest Module的断言方法 方法 用途 assertEqual(a,b) 核实 a ==b assertNotEqual(

1.1K30

GET/POST 请求区别详解(接口测试实战)

面试时,可以回答(一般答前4条就行): GET参数通过url传递,POST放在request body GET请求在url传递参数是有长度限制的,而POST没有 GET比POST更不安全,因为参数直接暴露在...在大万维网世界,还有另一个重要的角色:运输公司。 不同的浏览器(发起http请求)和服务器(接受http请求)就是不同的运输公司。 虽然理论上,你可以在车顶上无限的堆货物(url无限加参数)。...不会;request body没有内容 get:向服务器传递数据;支持多种编码格式;请求参数没有长度限制;request body中有内容 现在将目光转向了自动化测试,考虑到项目组对接口质量要求很高...这两个模块,如果仅仅是支持 http 协议的 url 请求,推荐使用 requests 模块。为什么这么说呢?因为爱因斯坦说过一句话:简洁就是美。...而负载均衡器一般要求支持 https 协议,这个时候就需要使用 Python 的 ssl 模块对证书进行校验; 关于忽略访问 https 协议的证书校验,这里忽略表。

3.5K00

接口测试和单元测试

requests 模块讲解和应用 基础知识 url:请求的地址 http://xxx:port param:传递参数 非必填参数 字典的格式传递参数 method:请求方式 支持get 以及post...字符串形式的参数 cookie:请求的时候传递的cookie值 利用requests模块写代码做接口测试。...非必填参数 字典的格式传递参数 method:请求方式支持get以及post 字符串形式的参数 cookie:请求的时候传递的cookie...非必填参数 字典的格式传递参数 method:请求方式支持get以及post 字符串形式的参数 cookie:请求的时候传递的cookie...接口抓不到的原因:人家是get请求,你非要post去抓 2.为什么有些接口抓不到? 别的接口,包括接口地址,参数,未必都可以抓到,例如腾讯的,数据会加密或者是根本抓不到。

1.7K20

uWSGI和WSGI之间的关系(上)

一.WSGI 协议 WSGI:是一种协议规范,起到规范参数的作用,就像告诉公路一样,规定超车靠右行,速度不低于90km/h,等。...uWSGI把接收到的信息作一次简单封装传递DjangoDjango接收到信息后,再经过一层层的中间件,于是,对信息作进一步处理,最后匹配url,传递给相应的视图函数,视图函数做逻辑处理……后面的就不叙述了...这个过程我们似乎没有用到uwsgi协议,但是他也是uWSGI实现的一种协议,鲁迅说过,存在即合理,所以说,他肯定在某个地方用到了。...我们过一会再来讨论 我们可以用这条命令:python manage.py runserver,启动Django自带的服务器,具体叫什么名字,真不知道(知道的可以留言)。...而且django自带的web服务器性能也不好,只能在开发过程中使用。于是我们就用uWSGI代替了。但是uWSGI也不够好,为什么看下图。

64810

2019 Python接口自动化测试框架实战开发(一)

:接口基础丶接口开发丶Unittest与接口测试结合以及接口自动化框架从设计到开发 接口基础包括:HTTP接口 / 常见接口 / 接口工具 / 接口基础知识 接口开发:通过Django来开发get/post...框架来测试以上app接口 在demo.py文件,使用requests get以及post方法进行了封装,主要是根据传递参数method来对get以及post方法进行分别调用而已,具体实现如下 import...test_02的userid未定义,原因是程序先去执行了test_02这个case,所以出现该提示是正常的 当在测试代码中有很多case时,想跳过某个case,则在该case方法上定义unittest...HTMLTestRunner的包了 在if __name__ == ‘__main__’只需要调用HtmlTestRunner模块的HtmlTestRunner类,向该类传递报告标题参数值即可,其他均默认...定义一个方法,该方法实现读取excel的数据,并进行copy复制,然后再write方法将数据写入到坐标位置 然后在data_get.py需要定义一个方法,在该方法核心逻辑为获取y坐标的值 最后在启动文件

68820
领券