單元測試之Django單元測試

2021-10-24 23:18:17 字數 2587 閱讀 6659

每個應用,自帶tests.py

整合在django的專案檔案裡,更多是開發人員寫django自動的測試執行

3.1 前後置方法執行特點

django.test.testcase類主要由前、後置處理方法test開頭的方法組成 特點

繼承於django.test.testcase

測試用例都是test開頭的,可以有多個

testcase中有前置方法setup(在測試用例之前之前呼叫)和teardown(在測試用例之後呼叫),這兩個方法可以不使用,但一旦使用兩個必須都在。

from django.test import testcase

class

mytest

(testcase)

: @classmethod

defsetupclass

(cls)

:print

('setupclass'

) @classmethod

defteardownclass

(cls)

:print

('teardownclass'

)def

setup

(self)

->

none

:print

('setup'

)def

teardown

(self)

->

none

:print

('teardown'

)def

test_***

(self)

:print

('測試用例1'

)def

test_yyy

(self)

:print

('測試用例2'

)

3.2 setupclass 和 teardownclass應用場景
# 定義 setupclass: 使用者登入

# 定義 teardownclass: 使用者退出

from django.test import testcase

import requests

class

mytest

(testcase)

: s =

none

# 類屬性

@classmethod

defsetupclass

(cls)

:print

('setupclass'

) user_info =

# 1. 建立requests.session()物件

# cls.s類屬性的s物件

cls.s = requests.session(

)# 登陸

# json以json格式傳送請求

r = cls.s.post(

'', json=user_info)

print

('登陸結果='

, r.json())

@classmethod

defteardownclass

(cls)

:print

('teardownclass'

) r = cls.s.delete(

'')print

('登出結果='

, r.json())

deftest_1_info

(self)

: r = self.s.get(

'')print

('使用者結果='

, r.json())

deftest_2_browse_histories

(self)

: r = self.s.get(

'')print

('瀏覽記錄結果='

, r.json())

deftest_2_browse_addresses

(self)

: r = self.s.get(

'')print

('位址結果='

, r.json(

))

django單元測試命令
python mange.py test -t 目錄
2. clinet類特點

測試由於使用臨時資料庫(mysql),所以註冊,登入是一起的。

3. 斷言

定義斷言:判斷預期結果和實際結果是否相符

舉個例子

如果ret[『code』]和0相等,說明復合預期,測試通過,斷言成功,msg的資訊不會顯示;

如果ret[『code』]和0不相等,說明不符合預期

,測試失敗,斷言失敗,msg的資訊會顯示。

斷言失敗,標誌位f,丟擲異常

self.assertequal(ret[

'code'],

0,msg=ret[

'errmsg'

])

3. unittest框架

3.1. unittest核心要素

django單元測試

在django中執行單元測試可以用pyhton manage.py test這樣是執行project中所有的單元測試。在django中如果要想讓django想上面那樣執行單元測試,必須將測試檔案命名為tests.py,否則會報錯。我嘗試了一下直接到tests.py檔案目錄下執行直接執行tests.p...

單元測試 單元測試文章收藏

前言 前段時間公司計畫做自動化測試,自己也打算圍繞幾個點做相關調研,現在想想呢?其實對自動化測試的概念都還不是十分清晰,當時主要還是圍繞 單元測試 向qa小夥伴學習了一段時間,現由於公司重組,學習中斷,這裡簡單記錄一些單元測試好文,留待後續參考.什麼叫自動化測試?自動化測試覆蓋率?覆蓋率如何做到的?...

單元測試測試之unittest

首先我們先理解單元測試是誰做的 開發 然後我們測試會寫 之後,我們也可以自己做單元測試 那麼單元測試是做什麼?對某個功能去測試 單元測試測試什麼?類裡面的方法 單元測試怎麼測?建立物件 呼叫方法 傳參 通過傳遞多組資料來測試不同的情況 單元測試的框架有 unittest 和 pytest 學會了un...