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