Pytest是Python的一個第三方單元測試庫,它是讓單元測試變得更容易,并且也能擴展到支持應(yīng)用層面復(fù)雜的功能測試。
不過Pytest不是Python默認的package,使用的時候要注意需要手動安裝。
相較于其它Python單元測試框架來說Pytest可以提供更豐富功能,包括assert重寫、第三方插件,并且可以自定義擴展,比較好用的如Pytest-selenium(集成selenium)、Pytest-html(完美html測試報告生成)、Pytest-rerunfailures(失敗case重復(fù)執(zhí)行)、Pytest-xdist(多CPU分發(fā))等。
同時,Pytest支持參數(shù)化,可以細粒度地控制要測試的測試用例,它還擁有其他測試工具無法比擬的fixture模型,可以自動找到測試用例執(zhí)行,并匯報測試結(jié)果。
再者,Pytest擁有豐富的基礎(chǔ)庫,可以大幅度提高用戶編寫測試用例的效率,可以很方便地與其他工具一起使用。
更重要的是,編寫Pytest測試樣例非常簡單,只需要按照下面的規(guī)則:測試文件以test_開頭(以_test結(jié)尾也可以)、測試類以Test開頭并且不能帶有init方法、測試函數(shù)以test_開頭、斷言使用基本的assert即可。
正因為此,現(xiàn)在使用Pytest的人也原來越多。
學(xué)習(xí)建議
綜上對比和歸納總結(jié),Unittest做為一個Python標準庫,和Python版本綁定,非常穩(wěn)定,不用擔(dān)心兼容性的問題。
如果要學(xué)習(xí)一個單元測試框架,建議從Unittest開始,因為你可以接觸到loader、suite、runner這樣的組件,對理解測試框架更有幫助,學(xué)習(xí)好Unittest以后,再學(xué)習(xí)Nose2或者Pytest這樣更高級的框架,能有效提升編程效率。
很多同學(xué)在網(wǎng)上看到一些說Unittest過時或Unittest不高級的言論就開始批判,顯然是不對的。Unittest是其他Python單元測試框架的基礎(chǔ),沒學(xué)好Unittest,其他的框架勢必也學(xué)不好。
以上內(nèi)容為大家介紹了python中的第三方單元測試庫,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機構(gòu):千鋒教育。http://m.2667701.com/