《pytest測試實戰》是2018年9月華中科技大學出版社出版的圖書,作者是布賴恩·奧肯(Brian,Okken)。
基本介紹
- 書名:pytest測試實戰
- 作者:布賴恩·奧肯(Brian,Okken)
- 出版社:華中科技大學出版社
- 出版時間:2018年9月
- 頁數:240 頁
- 定價:69.9 元
- 開本:16 開
- 裝幀:平裝
- ISBN:9787568044424
內容簡介,圖書目錄,作者簡介,
內容簡介
pytest是動態程式語言Python專用的測試框架,它具有易於上手、功能強大、第三方外掛程式豐富、效率高、可擴展性好、兼容性強等特點。《pytest測試實戰》深入淺出地講解了pytest的使用方法,尤其是具有特色的fixture的用法。作者通過豐富的測試實例,手把手教讀者編寫簡潔、易於維護的測試代碼和外掛程式,讓你輕鬆掌握這個業界受歡迎的Python測試工具。
圖書目錄
第1章 pytest入門 1
1.1 資源獲取 4
1.2 運行Pytest 5
1.3 運行單個測試用例 10
1.4 使用命令行選項 10
--collect-only選項 11
-k選項 11
-m選項 12
-x選項 13
--maxfail=num 15
-s與--capture=method 16
--lf(--last-failed)選項 16
--ff(--failed-first)選項 17
-v(--verbose)選項 17
-q(--quiet)選項 18
-l(--showlocals)選項 19
--tb=style選項 20
--duration=N選項 21
--version選項 22
-h(--help)選項 23
1.5 練習 24
1.6 預告 25
第2章 編寫測試函式 27
2.1 測試示例程式 27
本地安裝Tasks項目程式包 30
2.2 使用assert聲明 32
2.3 預期異常 35
2.4 測試函式的標記 36
完善冒煙測試 38
2.5 跳過測試 40
2.6 標記預期會失敗的測試 43
2.7 運行測試子集 45
單個目錄 45
單個測試檔案/模組 46
單個測試函式 47
單個測試類 47
單個測試類中的測試方法 48
用測試名劃分測試集合 48
2.8 參數化測試 49
2.9 練習 56
2.10 預告 57
第3章 pytest Fixture 59
3.1 通過conftest.py共享fixture 60
3.2 使用fixture執行配置及銷毀邏輯 61
3.3 使用--setup-show回溯fixture的執行過程 63
3.4 使用fixture傳遞測試數據 64
3.5 使用多個fixture 66
3.6 指定fixture作用範圍 68
修改Tasks項目的fixture作用範圍 70
3.7 使用usefixtures指定fixture 73
3.8 為常用fixture添加autouse選項 74
3.9 為fixture重命名 75
3.10 Fixture的參數化 77
3.11 參數化Tasks項目中的fixture 80
3.12 練習 83
3.13 預告 83
第4章 內置Fixture 85
4.1 使用tmpdir和tmpdir_factory 86
在其他作用範圍內使用臨時目錄 88
4.2 使用pytestconfig 90
4.3 使用cache 92
4.4 使用capsys 100
4.5 使用monkeypatch 102
4.6 使用doctest_namespace 106
4.7 使用recwarn 109
4.8 練習 110
4.9 預告 111
第5章 外掛程式 113
5.1 尋找外掛程式 114
5.2 安裝外掛程式 114
從PyPI安裝 114
從PyPI安裝指定版本 115
從.tar.gz或.whl檔案安裝 115
從本地目錄安裝 115
從Git存儲倉庫安裝 116
5.3 編寫自己的外掛程式 116
5.4 創建可安裝外掛程式 121
5.5 測試外掛程式 125
5.6 創建發布包 129
通過已分享資料夾分發外掛程式 130
通過PyPI發布外掛程式 130
5.7 練習 131
5.8 預告 131
第6章 配置 133
6.1 理解pytest的配置檔案 133
用pytest --help查看ini檔案選項 135
外掛程式可以添加ini檔案選項 135
6.2 更改默認命令行選項 136
6.3 註冊標記來防範拼寫錯誤 136
6.4 指定pytest的最低版本號 138
6.5 指定pytest忽略某些目錄 138
6.6 指定測試目錄 139
6.7 更改測試搜尋的規則 141
6.8 禁用XPASS 142
6.9 避免檔案名稱衝突 143
6.10 練習 145
6.11 預告 145
第7章 pytest與其他工具的搭配使用 147
7.1 pdb:調試失敗的測試用例 147
7.2 coverage.py:判斷測試覆蓋了多少代碼 151
7.3 mock:替換部分系統 155
7.4 tox:測試多種配置 162
7.5 Jenkins CI:讓測試自動化 166
7.6 unittest:用pytest運行歷史遺留測試用例 173
7.7 練習 179
7.8 預告 180
附錄A 虛擬環境 181
附錄B Pip 183
附錄C 常用外掛程式 187
C.1 改變測試流程的外掛程式 187
pytest-repeat:重複運行測試 187
pytest-xdist:並行運行測試 189
pytest-timeout:為測試設定時間限制 190
C.2 改善輸出效果的外掛程式 191
pytest-instafail:查看錯誤的詳細信息 191
pytest-sugar:顯示色彩和進度條 192
pytest-emoji:為測試增添一些樂趣 193
pytest-html:為測試生成HTML報告 195
C.3 靜態分析用的外掛程式 197
pytest-pycodestyle和pytest-pep8:Python代碼風格檢查 197
pytest-flake8:更多的風格檢查 197
C.4 Web開發用的外掛程式 198
pytest-selenium:藉助瀏覽器完成自動化測試 198
pytest-django:測試Django套用 198
pytest-flask:測試Flask套用 199
附錄D 打包和發布Python項目 201
D.1 創建可安裝的模組 201
D.2 創建可安裝的包 203
D.3 創建源碼發布包和Wheel檔案 205
D.4 創建可以從PyPI安裝的包 209
附錄E xUnit Fixture 211
E.1 xUnit Fixture的語法 211
E.2 混合使用pytest Fixture和xUnit Fixture 214
E.3 xUnit Fixture的限制 215
索引 216
作者簡介
Brian Okken是一位有二十多年工作經驗的軟體測試工程師,他業餘時間錄製了Test & Code和Python Bytes兩個播客。