-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
pytest測試實戰 版權信息
- ISBN:9787568044424
- 條形碼:9787568044424 ; 978-7-5680-4442-4
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>
pytest測試實戰 本書特色
美國亞馬x書店排名第1的Python測試圖書。
pytest測試實戰 內容簡介
本書深入淺出地講解了Pytest的使用方法, 尤其是具有特色的夾具功能的用法。作者通過豐富的測試實例, 手把手教你編寫簡潔易懂、易于維護的Pytest測試代碼, 讓你輕松掌握這個業界*受歡迎的Python測試工具。
pytest測試實戰 目錄
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
pytest測試實戰 節選
第1章介紹pytest的安裝,同時會介紹Tasks項目的數據結構部分(名為Task的namedtuple),并用它作為測試示例。我們會學習如何指定測試文件運行,以及pytest常用的命令行命令,包括重新運行失敗測試、遇到失敗即停止所有測試、控制堆棧跟蹤、控制日志輸出,等等。 第2章將使用pip在本地安裝Tasks項目,學習在Python項目中如何組織測試目錄,這樣才能針對實際項目編寫測試用例。這一章的所有示例都依賴外部程序,包括數據庫寫入。 第2章的重點是測試函數,你將學習在pytest中高效使用斷言語句。這一章還會講解marker標記功能的用法,marker標記可以將測試進行歸類或分組,方便一起運行,也可以將某些測試標記為skip(跳過不執行),marker標記還可以告訴pytest我們知道某些測試是一定會失敗的。如果希望運行指定的測試子集,除了使用marker,還可以將測試代碼組織成測試目錄、測試模塊、測試類,然后運行。 并非所有的測試代碼都要放到測試函數中。第3章介紹如何將測試數據、啟動邏輯、銷毀邏輯放入fixture(pytest定義的一種測試腳手架)。設置系統(或子系統、系統單元)是軟件測試的重要環節,第3章將介紹用一個簡單的fixture完成這方面的工作(包括對數據庫進行初始化,寫入數據以備測試之用)。Fixture模塊的功能非常強大,你可以利用它簡化測試代碼,從而提高代碼的可讀性和可維護性。Fixture像測試函數一樣,也有參數。利用參數,你只需要編寫一份代碼,就可以針對TinyDB和MongoDB(或其他Tasks項目支持的數據庫)開展測試。 第4章介紹pytest內置的fixture以滿足測試中常見的一些需求,包括生成和銷毀臨時目錄、截取輸出流(通過日志判定結果)、使用monkey patch、檢查是否發出警告,等等。 第5章講解如何在pytest中添加命令行選項,如何改進打印輸出,如何打包分發自己編寫的插件,如何共享定制化的pytest(包括fixture)。這一章開發的插件可以改善Tasks項目測試失敗時的輸出呈現方式。你還將學習測試自己的測試插件(元測試)。讀完這一章,想必你已經等不及編寫自己的插件了。附錄C收集了一些熱門的社區插件,可供參考。 第6章講解通過pytest.ini文件修改默認配置,自定義pytest的運行方式。pytest.ini文件可以存放某些命令選項,從而減少你重復輸入命令的次數;利用它還可以指定pytest忽略某些測試目錄,或者指定pytest的低版本,等等。使用tox.ini和setup.cfg文件也可以實現同樣的功能。 第7章(后一章)介紹pytest與其他工具的結合使用。我們將借助tox讓Tasks項目在多個Python版本上運行;學習如何測試Tasks項目的CLI部分,而不必mock系統的其余部分;借助coverage.py檢查Tasks項目代碼塊的測試覆蓋情況;通過Jenkins發起測試并實時顯示結果。后,還會學習如何讓pytest運行基于unittest的測試用例,以及把pytest的fixture共享給unittest的測試用例使用。
pytest測試實戰 作者簡介
Brian Okken是一位有二十多年工作經驗的軟件測試工程師,他業余時間錄制了Test & Code和Python Bytes兩個播客。
- >
伊索寓言-世界文學名著典藏-全譯本
- >
回憶愛瑪儂
- >
名家帶你讀魯迅:故事新編
- >
上帝之肋:男人的真實旅程
- >
經典常談
- >
山海經
- >
名家帶你讀魯迅:朝花夕拾
- >
企鵝口袋書系列·偉大的思想20:論自然選擇(英漢雙語)