基於django的單元測試

2020-12-23 黑馬程式設計師

1.【知道】認識單元測試

單元測試:測類、方法、函數,測試最小單位由於django的特殊性,通過接口測單元,代碼邏輯都放在類視圖中單元測試好處消滅低級錯誤快速定位bug(有些分支走不到,通過單元測試提前測出問題)提高代碼質量(測試後順便優化代碼)2.【掌握】編寫和運行django的單元測試

django環境資料庫編碼資料庫用戶權限(需要建臨時資料庫、刪臨時資料庫)每個應用,自帶tests.py類,繼承django.test.TestCase前置、後置方法test開頭的測試用例集成在django的項目文件裡,更多是開發人員寫django自動的測試運行進入manage.py目錄命令python manage.py test 指定目錄下的某個文件3. TestCase類

3.1【知道】前後置方法運行特點

django.test.TestCase類主要由

前、後置處理方法

test開頭的方法

組成

test開頭的方法 是編寫了測試邏輯的用例setUp方法 (名字固定)在每一個測試方法執行之前被調用tearDown方法(名字固定) 在每一個測試方法執行之前被調用setUpClass類方法(名字固定)在整個類運行前執行只執行一次tearDownClass類方法(名字固定)在調用整個類測試方法後執行一次from django.test import TestCaseclass MyTest(TestCase): @classmethod def setUpClass(cls): print('setUpClass') @classmethod def tearDownClass(cls): print('tearDownClass') def setUp(self) -> None: print('setUp') def tearDown(self) -> None: print('tearDown') def test_xxx(self): print('測試用例1') def test_yyy(self): print('測試用例2')# python manage.py test meiduo_mall.apps.users.test_code

3.2【掌握】setUpClass 和 tearDownClass應用場景

寫測試代碼:放在test開頭的方法# 定義 setUpClass: 用戶登錄# 定義 tearDownClass: 用戶退出# 定義測試方法:獲取用戶信息、獲取用戶瀏覽器記錄、獲取用戶地址列表from django.test import TestCaseimport requestsclass MyTest(TestCase): s = None # 類屬性 @classmethod def setUpClass(cls): print('setUpClass') user_info = { "username": "mike123", "password": "chuanzhi12345", "remembered": True } # 1. 創建requests.Session()對象 # cls.s類屬性的s對象 cls.s = requests.Session() # 登陸 # json以json格式發送請求 r = cls.s.post('http://127.0.0.1:8000/login/', json=user_info) print('登陸結果=', r.json()) @classmethod def tearDownClass(cls): print('tearDownClass') r = cls.s.delete('http://127.0.0.1:8000/logout/') print('登出結果=', r.json()) def test_1_info(self): r = self.s.get('http://127.0.0.1:8000/info/') print('用戶結果=', r.json()) def test_2_browse_histories(self): r = self.s.get('http://127.0.0.1:8000/browse_histories/') print('瀏覽記錄結果=', r.json()) def test_2_browse_addresses(self): r = self.s.get('http://127.0.0.1:8000/addresses/') print('地址結果=', r.json())

相關焦點

  • Django官方為什麼沒有標準項目結構
    startproject的完整格式為django-admin startproject name [directory],可以在後面追加一個目錄參數:...\> django-admin startproject helloworld hello-world就可以了。根目錄是hello-world,裡面的project是helloworld。
  • 用Jasmine和Blanket編寫基於Web的客戶端單元測試
    在本文中,我們將介紹兩種基於JavaScript的編寫單元測試的軟體包,它們背後的代碼以及最佳使用方式。前言在編寫一個網站時,或者更經常地 - 一個單頁的應用程式 - 需要測試它,就像其他任何代碼一樣。當然有幾種類型的測試,包括單元測試和集成測試。
  • Django 項目從零開始:Django 項目創建
    利用Startproject創建DjangoDemo項目在CMD中利用CD將路徑切換到自己項目路徑下再執行下面的命令django-admin startproject DjangoDemo2.測試啟動Django 網站服務在CMD中利用CD進入DjangoDemo文件夾下面,執行下面的命令python manage.py runserver執行此命令默認用127.0.0.1:8000來訪問網站當然也可以用
  • 如何輕鬆了解 Python 必學的 django 框架?
    django 框架配有一個功能強大的管理站點,裡面已經預定義了許多管理站點需要進行的操作,但是有時可能默認的操作不能滿足需求,如需要批量更新選中的對象,這需要編寫自定義 action 實現。本文基於 django 官方英文文檔梳理了一下自定義管理操作需要做的工作,方便快速了解自定義管理操作的實現過程。
  • 單元測試 vs 集成測試,你該怎麼選?
    在我看來,集成測試和單元測試是健壯軟體的基石。因此,今天讓我們看看單元測試與集成測試之間的區別,以及你什麼時候該選擇哪種測試。什麼是一個單元?一個單元是邏輯上分離的最小代碼塊單元測試是一種孤立地測試儘可能小的代碼片段的測試。那麼,什麼是一個單元?術語「單元」來自數學。數字 1 被認為是單元,因為它是最小的自然數。它是最小的正整數。
  • 單元測試常用的方法
    圖2.1描述了使用測試樁和一些已測試單元來測試單元D的過程,假設單元A,B,C已經用自上而下法進行了測試。   由圖2.1得到的是一個使用基於自上而下組織方法的單元測試計劃,其過程可以描述如下:   1) 步驟1:測試A單元,使用B,C,D單元的樁模塊。
  • 使用Django搭建個人博客
    我們可以在這個新克隆的環境下安裝 django 2.2.x,並且在這個新環境下運行我們的新項目如何安裝&創建虛擬環境(virtualenv)mac$: pip install virtualenv安裝完成後,我們就開始創建虛擬環境,首先創建
  • Java 單元測試
    單元測試的框架:Junitjava 語言編寫第三方單元測試框架單元:java中一個類就是一個單元單元測試步驟書寫業務類書寫測試類,一般命名規則為Test + 業務類名,測試方法,一般命名規則為test + 方法名, 內部可以使用Assert斷言測試方法要求:選中方法名,運行測試方法,選中類名,執行測試類中所有的方法選中模塊名,運行模塊中所有測試類的所有測試方法
  • django中遇到錯誤:Forbidden CSRF cookie not set
    表示django全局發送post請求均需要字符串驗證功能:防止跨站請求偽造的功能工作原理:客戶端訪問伺服器端,在伺服器端正常返回給客戶端數據的時候,而外返回給客戶端一段字符串,等到客戶端下次訪問伺服器端時,伺服器端會到客戶端查找先前返回的字符串
  • 「原創」Django第六章、模型操作
    sqlite> .tablesauth_group blog_blogarticlesauth_group_permissions django_admin_logauth_permission django_content_type
  • 關於單元測試體系結構的一些心得
    在本文中,我們將重點介紹測試金字塔的基礎,單元測試以及促進採用它們的系統體系結構注意事項。有效單元測試的屬性讓我們列舉一下什麼是有效的,精心設計的單元測試。如果單元測試不夠短,將很難閱讀並理解其目的,即確切地說是測試的內容。因此,出於這個原因,單元測試應該有一個明確的目標,並且只評估一件事,而不是嘗試同時執行多個評估。這樣,當單元測試失敗時,開發人員將更加輕鬆快捷地評估情況並進行修復。
  • Wings-面向企業級的單元測試用例自動編碼引擎
    2020年7月30日,星雲測試在TiD2020質量競爭力大會正式發布最新產品「Wings-企業級單元用例自動編碼引擎」。這是國際首個面向複雜軟體並且可以進行單元測試用例全自動編碼的高端專業軟體測試產品,目前處於國際上商業化程度最高、技術最領先的水平。
  • 「原創」Django第五章、模型建立與遷移
    別忘了,在介紹Django特點的時候,我們知道Django適合做內容,所以基於此特點,我們編寫一個博客豈不樂哉。畢竟博客中最需要的就是文章嘛,好,閒話少敘,我們開始。通過這個類我們可以創建一個專門用來保存博客文章的資料庫表,代碼如下:from django.db import modelsfrom django.utils import timezone # 新增from django.contrib.auth.models import
  • 系統測試:單元測試相關知識筆記
    一、單元測試概念單元測試也成為模塊測試,在模塊編寫完成且五編譯錯誤後就可以進行。單元測試側重模塊中的內部處理邏輯和數據結構。如果採用機器測試,一般用白盒測試法。二、單元測試檢查模塊特徵1、模塊接口模塊接口保證了測試模塊數據流可以正確地流入、流出。主要檢查一下要點:測試模塊輸入參數和形式參數在個數、屬性、單位是否一致。
  • 阿里新型單元測試 Mock 工具開源
    基於動態代理實現的Mockito比較符合直覺,但除了能用@InjectMocks支持 @Autowired注入的Spring Bean以外,幾乎沒提供太多黑魔法,因此要求用戶代碼要寫得「可測試」。若要換的對象沒用依賴注入機制,Mockito就幫不上忙了。
  • 3個C 單元測試工具,到底誰才是王者?
    ,是指對軟體中的最小可測試單元(函數/模塊/類)進行檢查和驗證。Test Method:通過使用[TestMethod]屬性裝飾單元測試方法來聲明測試方法。該屬性用於標識包含單元測試代碼的方法,最佳實踐指出,單元測試方法應僅包含單元測試代碼。斷言:斷言是一段代碼,當運行於測試一個條件或行為針對預期的結果。通過調用Assert類中的方法來執行。
  • 軟體測試學習教程:單元測試之UnitTest測試框架
    單元測試的概念單元測試(unit testing),是指對軟體中的最小可測試單元進行檢查和驗證。對於單元測試中單元的含義,要根據實際情況去判定其具體含義。一個單元可能是功能模塊、類、方法(函數)等。單元測試工具不同的程式語言都有比較成熟的單元測試框架,語法規則有些差別,其核心思想都是相通的。
  • 經驗教程 I iOS單元測試
    而iOS非常幸運,蘋果開發工具Xcode在創建項目是就能夠自帶XCTest,包含單元測試和UI測試,這次我們從兩個方面講一下單元測試。對文件夾右鍵點擊NewFile,選擇Unit Test Case Class即可創建一個單元測試文件創建過程就到這裡了。接下來針對單元測試一些使用進行簡單描述。
  • MyEclipse中Java單元測試的使用
    在使用MyEclipse進行Java開發中,做單元測試是很有必要的,接下來簡單介紹下其是如何使用的。,然後勾選setUpBeforeClass和tearDownAfterClass,然後點擊Finish,如下圖所示:7、此時提示添加JUnit4庫到項目中,點擊OK,如下圖所示:8、我們在setUpBeforeClass和tearDownAfterClass方法中增加一個輸出內容,然後添加兩個簡單的測試方法並輸出一些內容
  • 一篇文章帶你了解Django Form組件(入門篇)
    普通版註冊代碼urls.pyfrom django.urls import path from web import views  urlpatterns = [     path('reg/', views.reg,), ]