Python Web開發:測試驅動方法

Python Web開發:測試驅動方法

《Python Web開發:測試驅動方法》是2017年11月人民郵電出版社出版的圖書,作者是[英]珀西瓦爾(Harry J·W·Percival)。

基本介紹

  • 中文名:Python Web開發:測試驅動方法
  • 作者:[英]珀西瓦爾(Harry J·W·Percival)
  • ISBN:9787115403278
  • 頁數:416頁
  • 定價:99元
  • 出版社:人民郵電出版社
  • 出版時間:2017年11月
  • 裝幀:平裝
  • 開本:16開
內容簡介,圖書目錄,

內容簡介

本書從基礎的知識開始,講解Web開發的整個流程,展示如何使用Python做測試驅動開發。本書由三個部分組成。介紹了測試驅動開發和Django的基礎知識。第 二部分討論了Web開發要素,探討了Web開發過程中不可避免的問題,及如何通過測試解決這些問題。第三部分探討了一些高 級話題,如模擬技術、集成第三方外掛程式、Ajax、測試固件、持續集成等。本書適合Web開發人員閱讀。

圖書目錄

前言 xv
準備工作和應具備的知識 xxi
致謝 xxvii
第 一部分 TDD 和Django 基礎
第 1 章 使用功能測試協助安裝Django 3
1.1 遵從測試山羊的教誨,沒有測試什麼也別做 3
1.2 讓Django 運行起來 6
1.3 創建Git 倉庫 7
第 2 章 使用unittest 模組擴展功能測試 11
2.1 使用功能測試驅動開發一個**簡可用的套用 11
2.2 Python 標準庫中的unittest 模組 14
2.3 隱式等待 16
2.4 提交 16
第3 章 使用單元測試測試簡單的首頁 18
3.1 第 一個Django 套用,第 一個單元測試 19
3.2 單元測試及其與功能測試的區別 19
3.3 Django 中的單元測試 20
3.4 Django 中的MVC、URL 和視圖函式 21
3.5 終於可以編寫一些套用代碼了 22
3.6 urls.py 24
3.7 為視圖編寫單元測試 27
第4 章 編寫這些測試有什麼用 31
4.1 編程就像從井裡打水 31
4.2 使用Selenium 測試用戶互動 33
4.3 遵守“不測試常量”規則,使用模板解決這個問題 35
4.4 關於重構 39
4.5 接著修改首頁 40
4.6 總結:TDD 流程 42
第5 章 保存用戶輸入 45
5.1 編寫表單,傳送POST 請求 45
5.2 在伺服器中處理POST 請求 48
5.3 把Python 變數傳入模板中渲染 49
5.4 事不過三,三則重構 53
5.5 Django ORM 和第 一個模型 54
5.5.1 第 一個資料庫遷移 56
5.5.2 測試向前走得挺遠 57
5.5.3 添加新欄位就要創建新遷移 57
5.6 把POST 請求中的數據存入資料庫 58
5.7 處理完POST 請求後重定向 61
5.8 在模板中渲染待辦事項 63
5.9 使用遷移創建生產資料庫 65
第6 章 完成**簡可用的網站 70
6.1 確保功能測試之間相互隔離 70
6.2 必要時做少量的設計 74
6.2.1 YAGNI 74
6.2.2 REST 75
6.3 使用TDD 實現新設計 76
6.4 逐步疊代,實現新設計 78
6.5 使用Django 測試客戶端一起測試視圖、模板和URL 80
6.5.1 一個新測試類 80
6.5.2 一個新URL 81
6.5.3 一個新視圖函式 81
6.5.4 一個新模板,用於查看清單 82
6.6 用於添加待辦事項的URL 和視圖 85
6.6.1 用來測試新建清單的測試類 85
6.6.2 用於新建清單的URL 和視圖 86
6.6.3 刪除當前多餘的代碼和測試 88
6.6.4 讓表單指向剛添加的新URL 88
6.7 調整模型 89
6.7.1 通過外鍵實現的關聯 91
6.7.2 根據新模型定義調整其他代碼 92
6.8 每個列表都應該有自己的URL 94
6.8.1 捕獲URL 中的參數 95
6.8.2 按照新設計調整new_list 視圖 96
6.9 還需要一個視圖,把待辦事項加入現有清單 97
6.9.1 小心霸道的正則表達式 98
6.9.2 **後一個新URL 98
6.9.3 **後一個新視圖 99
6.9.4 如何在表單中使用那個URL 100
6.10 使用URL 引入做**後一次重構 102
第 二部分 Web 開發要素
第7 章 美化網站:布局、樣式及其測試方法 106
7.1 如何在功能測試中測試布局和樣式 106
7.2 使用CSS 框架美化網站 109
7.3 Django 模板繼承 111
7.4 集成Bootstrap 112
7.5 Django 中的靜態檔案 114
7.6 使用Bootstrap 中的組件改進網站外觀 116
7.6.1 超大文本塊 116
7.6.2 大型輸入框 116
7.6.3 樣式化表格 117
7.7 使用自己編寫的CSS 117
7.8 補遺:collectstatic 命令和其他靜態 118
7.9 沒談到的話題 121
第8 章 使用過渡網站測試部署 122
8.1 TDD 以及部署的危險區域 123
8.2 一如既往,先寫測試 124
8.3 註冊域名 126
8.4 手動配置託管網站的伺服器 126
8.4.1 選擇在哪裡託管網站 127
8.4.2 搭建伺服器 127
8.4.3 用戶賬戶、SSH 和許可權 128
8.4.4 安裝Nginx 128
8.4.5 解析過渡環境和線上環境所用的域名 129
8.4.6 使用功能測試確認域名可用而且Nginx 正在運行 130
8.5 手動部署代碼 130
8.5.1 調整資料庫的位置 131
8.5.2 創建虛擬環境 133
8.5.3 簡單配置Nginx 135
8.5.4 使用遷移創建資料庫 137
8.6 為部署到生產環境做好準備 138
8.6.1 換用Gunicorn 138
8.6.2 讓Nginx 伺服靜態檔案 139
8.6.3 換用Unix 套接字 140
8.6.4 把DEBUG 設為False,設定ALLOWED_HOSTS 141
8.6.5 使用Upstart 確保引導時啟動Gunicorn 141
8.6.6 保存改動:把Gunicorn 添加到requirements.txt 142
8.7 自動化 143
第9 章 使用Fabric 自動部署 147
9.1 分析一個Fabric 部署腳本 148
9.2 試用部署腳本 151
9.2.1 部署到線上伺服器 153
9.2.2 使用sed 配置Nginx 和Gunicorn 155
9.3 使用Git 標籤標註發布狀態 155
9.4 延伸閱讀 156
第 10 章 輸入驗證和測試的組織方式 158
10.1 針對驗證的功能測試:避免提交空待辦事項 158
10.1.1 跳過測試 159
10.1.2 把功能測試分拆到多個檔案中 160
10.1.3 運行單個測試檔案 162
10.1.4 填充功能測試 163
10.2 使用模型層驗證 164
10.2.1 重構單元測試,分拆成多個檔案 164
10.2.2 模型驗證的單元測試和self.assertRaises 上下文管理器 165
10.2.3 Django 怪異的表現:保存時不驗證數據 166
10.3 在視圖中顯示模型驗證錯誤 167
10.4 Django 模式:在渲染表單的視圖中處理POST 請求 171
10.4.1 重構:把new_item 實現的功能移到view_list 中 172
10.4.2 在view_list 視圖中執行模型驗證 174
10.5 重構:去除硬編碼的URL 176
10.5.1 模板標籤{% url %} 176
10.5.2 重定向時使用get_absolute_url 177
第 11 章 簡單的表單 181
11.1 把驗證邏輯移到表單中 181
11.1.1 使用單元測試探索表單API 182
11.1.2 換用Django 中的ModelForm 類 183
11.1.3 測試和定製表單驗證 184
11.2 在視圖中使用這個表單 186
11.2.1 在處理GET 請求的視圖中使用這個表單 187
11.2.2 大量查找和替換 189
11.3 在處理POST 請求的視圖中使用這個表單 191
11.3.1 修改new_list 視圖的單元測試 191
11.3.2 在視圖中使用這個表單 192
11.3.3 使用這個表單在模板中顯示錯誤訊息 193
11.4 在其他視圖中使用這個表單 194
11.5 使用表單自帶的save 方法 196
第 12 章 高 級表單 199
12.1 針對重複待辦事項的功能測試 199
12.1.1 在模型層禁止重複 200
12.1.2 題外話:查詢集合排序和字元串表示形式 202
12.1.3 重寫舊模型測試 204
12.1.4 保存時確實會顯示完整性錯誤 205
12.2 在視圖層試驗待辦事項重複驗證 206
12.3 處理唯 一性驗證的複雜表單 207
12.4 在清單視圖中使用ExistingListItemForm 209
第 13 章 試探JavaScript 213
13.1 從功能測試開始 213
13.2 安裝一個基本的JavaScript 測試運行程式 214

熱門詞條

聯絡我們