【Django單元測試方法】


一.前言/准備

  測Django的東西僅限於在MTV模型。哪些可以測?哪些不可以。

1.html里的東西不能測。
①Html里的HTML代碼大部分都是寫死的
②嵌套在html中的Django模板語言也不能測,即使有部分邏輯。
但寫測試用例時至少要調用一個類或者方法。模板語言沒有出參也沒有入參,不能測
2.models模型可測。屬於數據庫層
3.views,視圖層可以測。有入參、有方法。
綜上:根據Django語言特點,可測models和views

二.Django單元測試具體步驟----【測試模型models中的內容】

# coding=utf-8
from django.test import TestCase #導入Django測試包
from sign.models import Guest, Event #導入models中的發布會、嘉賓類

#首先創建測試類
class ModelTest(TestCase):

#初始化:分別創建一條發布會(Event)和一條嘉賓(Guest)的數據。
def setUp(self):
Event.objects.create(id=1, name="oneplus 3 event", status=True, limit=2000,
address='shenzhen', start_time='2016-08-31 02:18:22')
Guest.objects.create(id=1, event_id=1, realname='alen',
phone='13711001101', email='alen@mail.com', sign=False)

#下面開始寫測試用例了
#1.通過get的方法,查詢插入的發布會數據,並根據地址判斷
def test_event_models(self):
result = Event.objects.get(name="oneplus 3 event")
self.assertEqual(result.address, "shenzhen")
self.assertTrue(result.status)

#2.通過get的方法,查詢插入的嘉賓數據,並根據名字判斷
def test_guest_models(self):
result = Guest.objects.get(phone='13711001101')
self.assertEqual(result.realname, "alen")
self.assertFalse(result.sign)

#寫完測試用例后,執行測試用例。這里與unittest的運行方法也不一樣。
#Django提供了“test”命令來運行測試。(用cmd執行 見下截圖)

注意:剛剛在setup()部分操作時,其實並不會真正向數據庫表中插入數據。所以,不用擔心測試完后產生垃圾數據的問題。

如果:插入了表中沒有定義的字段時,也是會報錯提醒的! 

三.Django單元測試具體步驟----【測試視圖views中的內容】

 

 

 


免責聲明!

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



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