Updating... ...
第1章 pytest入門(mén) 1
1.1 資源獲取 4
1.2 運(yùn)行Pytest 5
1.3 運(yùn)行單個(gè)測(cè)試用例 10
1.4 使用命令行選項(xiàng) 10
--collect-only選項(xiàng) 11
-k選項(xiàng) 11
-m選項(xiàng) 12
-x選項(xiàng) 13
--maxfail=num 15
-s與--capture=method 16
--lf(--last-failed)選項(xiàng) 16
--ff(--failed-first)選項(xiàng) 17
-v(--verbose)選項(xiàng) 17
-q(--quiet)選項(xiàng) 18
-l(--showlocals)選項(xiàng) 19
--tb=style選項(xiàng) 20
--duration=N選項(xiàng) 21
--version選項(xiàng) 22
-h(--help)選項(xiàng) 23
1.5 練習(xí) 24
1.6 預(yù)告 25
第2章 編寫(xiě)測(cè)試函數(shù) 27
2.1 測(cè)試示例程序 27
本地安裝Tasks項(xiàng)目程序包 30
2.2 使用assert聲明 32
2.3 預(yù)期異常 35
2.4 測(cè)試函數(shù)的標(biāo)記 36
完善冒煙測(cè)試 38
2.5 跳過(guò)測(cè)試 40
2.6 標(biāo)記預(yù)期會(huì)失敗的測(cè)試 43
2.7 運(yùn)行測(cè)試子集 45
單個(gè)目錄 45
單個(gè)測(cè)試文件/模塊 46
單個(gè)測(cè)試函數(shù) 47
單個(gè)測(cè)試類(lèi) 47
單個(gè)測(cè)試類(lèi)中的測(cè)試方法 48
用測(cè)試名劃分測(cè)試集合 48
2.8 參數(shù)化測(cè)試 49
2.9 練習(xí) 56
2.10 預(yù)告 57
第3章 pytest Fixture 59
3.1 通過(guò)conftest.py共享fixture 60
3.2 使用fixture執(zhí)行配置及銷(xiāo)毀邏輯 61
3.3 使用--setup-show回溯fixture的執(zhí)行過(guò)程 63
3.4 使用fixture傳遞測(cè)試數(shù)據(jù) 64
3.5 使用多個(gè)fixture 66
3.6 指定fixture作用范圍 68
修改Tasks項(xiàng)目的fixture作用范圍 70
3.7 使用usefixtures指定fixture 73
3.8 為常用fixture添加autouse選項(xiàng) 74
3.9 為fixture重命名 75
3.10 Fixture的參數(shù)化 77
3.11 參數(shù)化Tasks項(xiàng)目中的fixture 80
3.12 練習(xí) 83
3.13 預(yù)告 83
第4章 內(nèi)置Fixture 85
4.1 使用tmpdir和tmpdir_factory 86
在其他作用范圍內(nèi)使用臨時(shí)目錄 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存儲(chǔ)倉(cāng)庫(kù)安裝 116
5.3 編寫(xiě)自己的插件 116
5.4 創(chuàng)建可安裝插件 121
5.5 測(cè)試插件 125
5.6 創(chuàng)建發(fā)布包 129
通過(guò)共享目錄分發(fā)插件 130
通過(guò)PyPI發(fā)布插件 130
5.7 練習(xí) 131
5.8 預(yù)告 131
第6章 配置 133
6.1 理解pytest的配置文件 133
用pytest --help查看ini文件選項(xiàng) 135
插件可以添加ini文件選項(xiàng) 135
6.2 更改默認(rèn)命令行選項(xiàng) 136
6.3 注冊(cè)標(biāo)記來(lái)防范拼寫(xiě)錯(cuò)誤 136
6.4 指定pytest的最低版本號(hào) 138
6.5 指定pytest忽略某些目錄 138
6.6 指定測(cè)試目錄 139
6.7 更改測(cè)試搜索的規(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)試失敗的測(cè)試用例 147
7.2 coverage.py:判斷測(cè)試覆蓋了多少代碼 151
7.3 mock:替換部分系統(tǒng) 155
7.4 tox:測(cè)試多種配置 162
7.5 Jenkins CI:讓測(cè)試自動(dòng)化 166
7.6 unittest:用pytest運(yùn)行歷史遺留測(cè)試用例 173
7.7 練習(xí) 179
7.8 預(yù)告 180
附錄A 虛擬環(huán)境 181
附錄B Pip 183
附錄C 常用插件 187
C.1 改變測(cè)試流程的插件 187
pytest-repeat:重復(fù)運(yùn)行測(cè)試 187
pytest-xdist:并行運(yùn)行測(cè)試 189
pytest-timeout:為測(cè)試設(shè)置時(shí)間限制 190
C.2 改善輸出效果的插件 191
pytest-instafail:查看錯(cuò)誤的詳細(xì)信息 191
pytest-sugar:顯示色彩和進(jìn)度條 192
pytest-emoji:為測(cè)試增添一些樂(lè)趣 193
pytest-html:為測(cè)試生成HTML報(bào)告 195
C.3 靜態(tài)分析用的插件 197
pytest-pycodestyle和pytest-pep8:Python代碼風(fēng)格檢查 197
pytest-flake8:更多的風(fēng)格檢查 197
C.4 Web開(kāi)發(fā)用的插件 198
pytest-selenium:借助瀏覽器完成自動(dòng)化測(cè)試 198
pytest-django:測(cè)試Django應(yīng)用 198
pytest-flask:測(cè)試Flask應(yīng)用 199
附錄D 打包和發(fā)布Python項(xiàng)目 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的語(yǔ)法 211
E.2 混合使用pytest Fixture和xUnit Fixture 214
E.3 xUnit Fixture的限制 215
索引 216