<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          pytest測(cè)試實(shí)戰(zhàn)

          聯(lián)合創(chuàng)作 · 2023-09-28 14:24

          pytest是動(dòng)態(tài)編程語言Python專用的測(cè)試框架,它具有易于上手、功能強(qiáng)大、第三方插件豐富、效率高、可擴(kuò)展性好、兼容性強(qiáng)等特點(diǎn)?!秔ytest測(cè)試實(shí)戰(zhàn)》深入淺出地講解了pytest的使用方法,尤其是具有特色的fixture的用法。作者通過豐富的測(cè)試實(shí)例,手把手教讀者編寫簡(jiǎn)潔、易于維護(hù)的測(cè)試代碼和插件,讓你輕松掌握這個(gè)業(yè)界最受歡迎的Python測(cè)試工具。

          .

          第1章介紹pytest的安裝,同時(shí)會(huì)介紹Tasks項(xiàng)目的數(shù)據(jù)結(jié)構(gòu)部分(名為Task的namedtuple),并用它作為測(cè)試示例。我們會(huì)學(xué)習(xí)如何指定測(cè)試文件運(yùn)行,以及pytest常用的命令行命令,包括重新運(yùn)行失敗測(cè)試、遇到失敗即停止所有測(cè)試、控制堆棧跟蹤、控制日志輸出,等等。

          .

          第2章將使用pip在本地安裝Tasks項(xiàng)目,學(xué)習(xí)在Python項(xiàng)目中如何組織測(cè)試目錄,這樣才能針對(duì)實(shí)際項(xiàng)目編寫測(cè)試用...

          pytest是動(dòng)態(tài)編程語言Python專用的測(cè)試框架,它具有易于上手、功能強(qiáng)大、第三方插件豐富、效率高、可擴(kuò)展性好、兼容性強(qiáng)等特點(diǎn)?!秔ytest測(cè)試實(shí)戰(zhàn)》深入淺出地講解了pytest的使用方法,尤其是具有特色的fixture的用法。作者通過豐富的測(cè)試實(shí)例,手把手教讀者編寫簡(jiǎn)潔、易于維護(hù)的測(cè)試代碼和插件,讓你輕松掌握這個(gè)業(yè)界最受歡迎的Python測(cè)試工具。

          .

          第1章介紹pytest的安裝,同時(shí)會(huì)介紹Tasks項(xiàng)目的數(shù)據(jù)結(jié)構(gòu)部分(名為Task的namedtuple),并用它作為測(cè)試示例。我們會(huì)學(xué)習(xí)如何指定測(cè)試文件運(yùn)行,以及pytest常用的命令行命令,包括重新運(yùn)行失敗測(cè)試、遇到失敗即停止所有測(cè)試、控制堆棧跟蹤、控制日志輸出,等等。

          .

          第2章將使用pip在本地安裝Tasks項(xiàng)目,學(xué)習(xí)在Python項(xiàng)目中如何組織測(cè)試目錄,這樣才能針對(duì)實(shí)際項(xiàng)目編寫測(cè)試用例。這一章的所有示例都依賴外部程序,包括數(shù)據(jù)庫寫入。

          .

          第2章的重點(diǎn)是測(cè)試函數(shù),你將學(xué)習(xí)在pytest中高效使用斷言語句。這一章還會(huì)講解marker標(biāo)記功能的用法,marker標(biāo)記可以將測(cè)試進(jìn)行歸類或分組,方便一起運(yùn)行,也可以將某些測(cè)試標(biāo)記為skip(跳過不執(zhí)行),marker標(biāo)記還可以告訴pytest我們知道某些測(cè)試是一定會(huì)失敗的。如果希望運(yùn)行指定的測(cè)試子集,除了使用marker,還可以將測(cè)試代碼組織成測(cè)試目錄、測(cè)試模塊、測(cè)試類,然后運(yùn)行。

          .

          并非所有的測(cè)試代碼都要放到測(cè)試函數(shù)中。第3章介紹如何將測(cè)試數(shù)據(jù)、啟動(dòng)邏輯、銷毀邏輯放入fixture(pytest定義的一種測(cè)試腳手架)。設(shè)置系統(tǒng)(或子系統(tǒng)、系統(tǒng)單元)是軟件測(cè)試的重要環(huán)節(jié),第3章將介紹用一個(gè)簡(jiǎn)單的fixture完成這方面的工作(包括對(duì)數(shù)據(jù)庫進(jìn)行初始化,寫入數(shù)據(jù)以備測(cè)試之用)。Fixture模塊的功能非常強(qiáng)大,你可以利用它簡(jiǎn)化測(cè)試代碼,從而提高代碼的可讀性和可維護(hù)性。Fixture像測(cè)試函數(shù)一樣,也有參數(shù)。利用參數(shù),你只需要編寫一份代碼,就可以針對(duì)TinyDB和MongoDB(或其他Tasks項(xiàng)目支持的數(shù)據(jù)庫)開展測(cè)試。

          .

          第4章介紹pytest內(nèi)置的fixture以滿足測(cè)試中常見的一些需求,包括生成和銷毀臨時(shí)目錄、截取輸出流(通過日志判定結(jié)果)、使用monkey patch、檢查是否發(fā)出警告,等等。

          .

          第5章講解如何在pytest中添加命令行選項(xiàng),如何改進(jìn)打印輸出,如何打包分發(fā)自己編寫的插件,如何共享定制化的pytest(包括fixture)。這一章開發(fā)的插件可以改善Tasks項(xiàng)目測(cè)試失敗時(shí)的輸出呈現(xiàn)方式。你還將學(xué)習(xí)測(cè)試自己的測(cè)試插件(元測(cè)試)。讀完這一章,想必你已經(jīng)等不及編寫自己的插件了。附錄C收集了一些熱門的社區(qū)插件,可供參考。

          .

          第6章講解通過pytest.ini文件修改默認(rèn)配置,自定義pytest的運(yùn)行方式。pytest.ini文件可以存放某些命令選項(xiàng),從而減少你重復(fù)輸入命令的次數(shù);利用它還可以指定pytest忽略某些測(cè)試目錄,或者指定pytest的最低版本,等等。使用tox.ini和setup.cfg文件也可以實(shí)現(xiàn)同樣的功能。

          .

          第7章(最后一章)介紹pytest與其他工具的結(jié)合使用。我們將借助tox讓Tasks項(xiàng)目在多個(gè)Python版本上運(yùn)行;學(xué)習(xí)如何測(cè)試Tasks項(xiàng)目的CLI部分,而不必mock系統(tǒng)的其余部分;借助coverage.py檢查Tasks項(xiàng)目代碼塊的測(cè)試覆蓋情況;通過Jenkins發(fā)起測(cè)試并實(shí)時(shí)顯示結(jié)果。最后,還會(huì)學(xué)習(xí)如何讓pytest運(yùn)行基于unittest的測(cè)試用例,以及把pytest的fixture共享給unittest的測(cè)試用例使用。

          Brian Okken是一位有二十多年工作經(jīng)驗(yàn)的軟件測(cè)試工程師,他業(yè)余時(shí)間錄制了Test & Code和Python Bytes兩個(gè)播客。

          瀏覽 4
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲无码视频手机免费观看在线观看 | av在线无码高清 Av之家亚洲中文 | 69黄色视频 | 成人网站在线视频三级 | 日韩久久久 |