-
>
決戰(zhàn)行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調(diào)優(yōu)實踐之路
-
>
第一行代碼Android
-
>
深度學(xué)習(xí)
-
>
Unreal Engine 4藍圖完全學(xué)習(xí)教程
-
>
深入理解計算機系統(tǒng)-原書第3版
-
>
Word/Excel PPT 2013辦公應(yīng)用從入門到精通-(附贈1DVD.含語音視頻教學(xué)+辦公模板+PDF電子書)
pytest測試實戰(zhàn) 版權(quán)信息
- ISBN:9787568044424
- 條形碼:9787568044424 ; 978-7-5680-4442-4
- 裝幀:一般膠版紙
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>
pytest測試實戰(zhàn) 本書特色
美國亞馬x書店排名第1的Python測試圖書。
pytest測試實戰(zhàn) 內(nèi)容簡介
本書深入淺出地講解了Pytest的使用方法, 尤其是具有特色的夾具功能的用法。作者通過豐富的測試實例, 手把手教你編寫簡潔易懂、易于維護的Pytest測試代碼, 讓你輕松掌握這個業(yè)界*受歡迎的Python測試工具。
pytest測試實戰(zhàn) 目錄
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 練習(xí) 24
1.6 預(yù)告 25
第2章 編寫測試函數(shù) 27
2.1 測試示例程序 27
本地安裝Tasks項目程序包 30
2.2 使用assert聲明 32
2.3 預(yù)期異常 35
2.4 測試函數(shù)的標記 36
完善冒煙測試 38
2.5 跳過測試 40
2.6 標記預(yù)期會失敗的測試 43
2.7 運行測試子集 45
單個目錄 45
單個測試文件/模塊 46
單個測試函數(shù) 47
單個測試類 47
單個測試類中的測試方法 48
用測試名劃分測試集合 48
2.8 參數(shù)化測試 49
2.9 練習(xí) 56
2.10 預(yù)告 57
第3章 pytest Fixture 59
3.1 通過conftest.py共享fixture 60
3.2 使用fixture執(zhí)行配置及銷毀邏輯 61
3.3 使用--setup-show回溯fixture的執(zhí)行過程 63
3.4 使用fixture傳遞測試數(shù)據(jù) 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的參數(shù)化 77
3.11 參數(shù)化Tasks項目中的fixture 80
3.12 練習(xí) 83
3.13 預(yù)告 83
第4章 內(nèi)置Fixture 85
4.1 使用tmpdir和tmpdir_factory 86
在其他作用范圍內(nèi)使用臨時目錄 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 練習(xí) 110
4.9 預(yù)告 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 創(chuàng)建可安裝插件 121
5.5 測試插件 125
5.6 創(chuàng)建發(fā)布包 129
通過共享目錄分發(fā)插件 130
通過PyPI發(fā)布插件 130
5.7 練習(xí) 131
5.8 預(yù)告 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 更改測試搜索的規(guī)則 141
6.8 禁用XPASS 142
6.9 避免文件名沖突 143
6.10 練習(xí) 145
6.11 預(yù)告 145
第7章 pytest與其他工具的搭配使用 147
7.1 pdb:調(diào)試失敗的測試用例 147
7.2 coverage.py:判斷測試覆蓋了多少代碼 151
7.3 mock:替換部分系統(tǒng) 155
7.4 tox:測試多種配置 162
7.5 Jenkins CI:讓測試自動化 166
7.6 unittest:用pytest運行歷史遺留測試用例 173
7.7 練習(xí) 179
7.8 預(yù)告 180
附錄A 虛擬環(huán)境 181
附錄B Pip 183
附錄C 常用插件 187
C.1 改變測試流程的插件 187
pytest-repeat:重復(fù)運行測試 187
pytest-xdist:并行運行測試 189
pytest-timeout:為測試設(shè)置時間限制 190
C.2 改善輸出效果的插件 191
pytest-instafail:查看錯誤的詳細信息 191
pytest-sugar:顯示色彩和進度條 192
pytest-emoji:為測試增添一些樂趣 193
pytest-html:為測試生成HTML報告 195
C.3 靜態(tài)分析用的插件 197
pytest-pycodestyle和pytest-pep8:Python代碼風(fēng)格檢查 197
pytest-flake8:更多的風(fēng)格檢查 197
C.4 Web開發(fā)用的插件 198
pytest-selenium:借助瀏覽器完成自動化測試 198
pytest-django:測試Django應(yīng)用 198
pytest-flask:測試Flask應(yīng)用 199
附錄D 打包和發(fā)布Python項目 201
D.1 創(chuàng)建可安裝的模塊 201
D.2 創(chuàng)建可安裝的包 203
D.3 創(chuàng)建源碼發(fā)布包和Wheel文件 205
D.4 創(chuàng)建可以從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測試實戰(zhàn) 節(jié)選
第1章介紹pytest的安裝,同時會介紹Tasks項目的數(shù)據(jù)結(jié)構(gòu)部分(名為Task的namedtuple),并用它作為測試示例。我們會學(xué)習(xí)如何指定測試文件運行,以及pytest常用的命令行命令,包括重新運行失敗測試、遇到失敗即停止所有測試、控制堆棧跟蹤、控制日志輸出,等等。 第2章將使用pip在本地安裝Tasks項目,學(xué)習(xí)在Python項目中如何組織測試目錄,這樣才能針對實際項目編寫測試用例。這一章的所有示例都依賴外部程序,包括數(shù)據(jù)庫寫入。 第2章的重點是測試函數(shù),你將學(xué)習(xí)在pytest中高效使用斷言語句。這一章還會講解marker標記功能的用法,marker標記可以將測試進行歸類或分組,方便一起運行,也可以將某些測試標記為skip(跳過不執(zhí)行),marker標記還可以告訴pytest我們知道某些測試是一定會失敗的。如果希望運行指定的測試子集,除了使用marker,還可以將測試代碼組織成測試目錄、測試模塊、測試類,然后運行。 并非所有的測試代碼都要放到測試函數(shù)中。第3章介紹如何將測試數(shù)據(jù)、啟動邏輯、銷毀邏輯放入fixture(pytest定義的一種測試腳手架)。設(shè)置系統(tǒng)(或子系統(tǒng)、系統(tǒng)單元)是軟件測試的重要環(huán)節(jié),第3章將介紹用一個簡單的fixture完成這方面的工作(包括對數(shù)據(jù)庫進行初始化,寫入數(shù)據(jù)以備測試之用)。Fixture模塊的功能非常強大,你可以利用它簡化測試代碼,從而提高代碼的可讀性和可維護性。Fixture像測試函數(shù)一樣,也有參數(shù)。利用參數(shù),你只需要編寫一份代碼,就可以針對TinyDB和MongoDB(或其他Tasks項目支持的數(shù)據(jù)庫)開展測試。 第4章介紹pytest內(nèi)置的fixture以滿足測試中常見的一些需求,包括生成和銷毀臨時目錄、截取輸出流(通過日志判定結(jié)果)、使用monkey patch、檢查是否發(fā)出警告,等等。 第5章講解如何在pytest中添加命令行選項,如何改進打印輸出,如何打包分發(fā)自己編寫的插件,如何共享定制化的pytest(包括fixture)。這一章開發(fā)的插件可以改善Tasks項目測試失敗時的輸出呈現(xiàn)方式。你還將學(xué)習(xí)測試自己的測試插件(元測試)。讀完這一章,想必你已經(jīng)等不及編寫自己的插件了。附錄C收集了一些熱門的社區(qū)插件,可供參考。 第6章講解通過pytest.ini文件修改默認配置,自定義pytest的運行方式。pytest.ini文件可以存放某些命令選項,從而減少你重復(fù)輸入命令的次數(shù);利用它還可以指定pytest忽略某些測試目錄,或者指定pytest的低版本,等等。使用tox.ini和setup.cfg文件也可以實現(xiàn)同樣的功能。 第7章(后一章)介紹pytest與其他工具的結(jié)合使用。我們將借助tox讓Tasks項目在多個Python版本上運行;學(xué)習(xí)如何測試Tasks項目的CLI部分,而不必mock系統(tǒng)的其余部分;借助coverage.py檢查Tasks項目代碼塊的測試覆蓋情況;通過Jenkins發(fā)起測試并實時顯示結(jié)果。后,還會學(xué)習(xí)如何讓pytest運行基于unittest的測試用例,以及把pytest的fixture共享給unittest的測試用例使用。
pytest測試實戰(zhàn) 作者簡介
Brian Okken是一位有二十多年工作經(jīng)驗的軟件測試工程師,他業(yè)余時間錄制了Test & Code和Python Bytes兩個播客。
- >
唐代進士錄
- >
推拿
- >
姑媽的寶刀
- >
巴金-再思錄
- >
有舍有得是人生
- >
山海經(jīng)
- >
羅曼·羅蘭讀書隨筆-精裝
- >
自卑與超越