日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用单元测试测试简单的首页

發布時間:2024/9/21 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用单元测试测试简单的首页 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Django鼓勵以應用的形式組織代碼。這樣一個項目中可以放多個應用

為待辦事項清單創建第一個應用:

?manage.py startapp Lists

會在superList文件夾中創建子文件夾Lists,并在lists中創建一些占位文件,用來保存模型,視圖以及測試。

?

功能測試站在用戶的角度從外部測試應用,單元測試站在程序員的角度從內部測試應用。

?

TDD同時使用這兩種類型測試應用,工作流程:

?1.先寫功能測試,從用戶角度描述應用的新功能。

?2. 功能測試失敗后,想辦法編寫代碼讓它通過。(或者至少讓當前失敗的測試通過)。此時,使用一個或多個單元測試定義希望代碼實現的效果。保證為應用中的每一行代碼(至少)編寫一個單元測試。

?3. 單元測試失敗后,編寫最少量的應用代碼,剛好讓單元測試通過。有時要在第2步和第3步之間多次往復,直到我們覺得功能測試有一點進展為止

?4. 再次運行功能測試,看能否通過,或者有沒有一點進展。這一步可能促使我們編寫一些新的單元測試和代碼等。

?

整個過程中,功能測試站在高層驅動開發,而單元測試從底層驅動我們做些什么。

?

功能測試的作用是幫助你開發具有所需功能的應用,還能保證你不會無意中破壞這些功能。單元測試的作用是幫助你編寫簡潔無措的代碼。

?

Django 有自己專用的,寫unit test的類? from django.test import TestCase

?

TDD x循環要從失敗的測試開始,然后編寫代碼讓其通過。

?

Django中的MVC,URL 和視圖函數.

視圖更像是控制器,模板才是視圖。

其主要任務是決定用戶訪問網站中的某個URL時做些什么。

Django 的工作流程:

1. 針對某個URL的HTTP請求進入

?2. Django使用一些規則決定由哪個視圖函數處理這個請求 (這一步叫做 解析URL)

3. 選中的視圖函數處理請求,然后返回HTTP響應。

?

?先測試兩件事:

1. 能否解析網站根路徑 (“/"), 將其對應到我們編寫的某個視圖函數上

???? from django.core.urlresolvers impor resolve

???? found = resolve("/") #解析 url,并將其映射到相應的視圖函數上

???? # TDD 目前沒有響應的視圖函數。根據TDD失敗,在應用的視圖文件中定義視圖函數.

2. 能否讓視圖函數返回一些HTML

??? #TDD 定義的視圖函數要返回 HTML 給request

?

運行測試,根據TDD定義 視圖函數。運行測試,發現404 error.說明 沒有相應的URL映射。

project的文件夾下的urls,py 中定義如何把URL映射到視圖函數上。這個文件應用于整個網站.

?? from django.conf.urls import url,patterns,include

三種加url的例子。Django urls.py 文件中自帶的事例。URL 文件中,每個url 都需要對應的視圖處理函數

? Function views
??? 1. Add an import:? from my_app import views
??? 2. Add a URL to urlpatterns:? url(r'^$', views.home, name='home')
Class-based views
??? 1. Add an import:? from other_app.views import Home
??? 2. Add a URL to urlpatterns:? url(r'^$', Home.as_view(), name='home')
Including another URLconf
??? 1. Import the include() function: from django.conf.urls import url, include
??? 2. Add a URL to urlpatterns:? url(r'^blog/', include('blog.urls'))

?

為視圖編寫測試函數:

? 需要定義一個函數,向瀏覽器返回真正的HTML響應.

? 給視圖函數輸入一個request, 返回response. 然后檢查response.content的內容。對比response.content的內容時,主要使用 b"xxx".因為response.content是原始字節。

??? from django.http import HttpRequest

? 通過單元測試,一步步進行,視圖函數需要返回response object

??? from django.http import HttpResponse

??? def home_page(request):

????????? return HttpResponse(xxx)

?

回顧:

創建新應用 : manage.py startapp appname

Django 單元測試運行程序: from django.test import TestCase

功能測試和單元測試的區別: 用戶和程序員

Django 解析URL 的方法, urls.py 文件的作用. : url(pattern,view,name)

Django 的視圖函數,請求和響應對象。 HttpRequest,HttpResponse

如何返回簡單的HTML??? return HttpResponse(xxx)

?

有用的命令和概念:

?python manage.py runserver

?python functional_test.py 運行功能測試

python manage.py test 運行單元測試

單元測試/編寫代碼 循環:

?? a, 在終端里運行單元測試

??? b,在編輯器中改動最少量的代碼

??? c,重復上兩步

轉載于:https://www.cnblogs.com/ahMay/p/8491329.html

總結

以上是生活随笔為你收集整理的使用单元测试测试简单的首页的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。