Django单元测试

本文介绍了在Django中如何进行单元测试,利用unittest框架编写测试用例,并结合Mock模块模拟外部接口行为。示例代码展示了Django的client如何发起请求并验证接口返回。在Django测试中,每个测试用例结束后会恢复数据库状态,可通过--keepdb选项保留数据。建议为单元测试设置独立的测试数据库。
摘要由CSDN通过智能技术生成

 

Mock 测试
mock 是辅助单元测试的模块,用于测试不方便调用的别人的接口。举个简单的例子,比如说,我们测试django 写的微信登录接口,正常流程下,我们需要前端拉起授权窗口,获取jscode或其他数据。而这一部分操作,我们在单元测试的时候没办法模拟出来。此时,我们希望假设调用微信的接口,正常返回了我们需要的数据,在这种情况下,我们便需要简单的mock 函数,假设已经该函数正常返回了我们的结果,让流程更通畅。
代码demo:

[Python] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from rest_framework.test import APITestCase
from unittest import mock
 
class AdviserTest(APITestCase):
    # mock.patch 中指定我们需要mock的函数路径(使用时的路径)
    @mock.patch("adviser.views.jscode2session")
    def test_small_app_login(self, mock_jscode2session):
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值