Django REST framework 單元測試


Django REST framework 單元測試

只是簡單記錄一下測試代碼怎么寫

環境

Win10
Python3.7
Django2.2

項目

參照官網 快速開始 寫了一個 demo

測試

參照官網 測試
和 Django 的測試差不多

創建 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 檢查新增用戶是否符合預期
        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"])

執行測試
python manage.py test <測試文件所在目錄>

python manage.py test tests/

測試結果,執行一個測試成功
測試前創建測試數據庫,測試完畢刪除數據庫

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'...


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM