溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Django REST framework單元測(cè)試的示例分析

發(fā)布時(shí)間:2021-09-03 13:50:29 來(lái)源:億速云 閱讀:174 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹了Django REST framework單元測(cè)試的示例分析,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

環(huán)境

Win10

Python3.7

Django2.2

項(xiàng)目

參照官網(wǎng) 快速開(kāi)始 寫(xiě)了一個(gè) demo

測(cè)試

參照官網(wǎng) 測(cè)試

和 Django 的測(cè)試差不多

創(chuàng)建 tutorial/tests/tests.py

import json
from django.test import TestCase
from rest_framework import status
from rest_framework.test import APIClient

class LittleTestCase(TestCase):
  def setUp(self):
    self.click = APIClient()

  def test_users_post(self):
    # /users/ POST
    data = {
      "username": "tom",
      "email": "tom@example.com"
    }
    response = self.client.post("/users/", data)
    self.assertEqual(response.status_code, status.HTTP_201_CREATED)

    # /users/:id GET 地址
    response_content = json.loads(response.content)
    user_url = response_content["url"]

    # /users/:id GET 檢查新增用戶(hù)是否符合預(yù)期
    response = self.client.get(user_url)
    response_content = json.loads(response.content)
    self.assertEqual(response.status_code, 200)
    self.assertEqual("tom", response_content["username"])
    self.assertEqual("tom@example.com", response_content["email"])

執(zhí)行測(cè)試

python manage.py test <測(cè)試文件所在目錄>

python manage.py test tests/

測(cè)試結(jié)果

執(zhí)行一個(gè)測(cè)試成功

測(cè)試前創(chuàng)建測(cè)試數(shù)據(jù)庫(kù),測(cè)試完畢刪除數(shù)據(jù)庫(kù)

Creating test database for alias 'default'...
System check identified no issues (0 silenced).
.
----------------------------------------------------------------------
Ran 1 test in 0.022s

OK
Destroying test database for alias 'default'...

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Django REST framework單元測(cè)試的示例分析”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI