出處:https://www.cnblogs.com/yoyoketang/p/9356693.htmlhtml
前言:python
python鄙視鏈:pytest 鄙視 > unittest 鄙視 > robotframework 鄙視 > 記流水帳 鄙視 > "hello world"小白框架
因此,讓咱們一塊兒學習pytest吧。函數
pytest簡介:工具
pytest是python的一種單元測試框架,與python自帶的unittest測試框架相似,可是比unittest框架使用起來更簡潔,效率更高。根據pytest的官方網站介紹,它具備以下特色:單元測試
1、pytest安裝:學習
1. pip install -U pytest測試
2. pip show pytest查看安裝版本網站
3. 也能夠pytest -version查看安裝的版本插件
2、快速入手
----運行第一個簡單的函數
ok,如上環境安裝成功了。下面經過具體的案例來入手吧。咱們先編寫一個簡單的函數,經過pytest執行或者pytest -q 腳本名,指定腳原本執行。
從上面的截圖能夠看出,第一個執行斷言失敗,第二個執行斷言成功。
----運行多個函數
在一個包中,或者說一個模塊的文件中,它是有多個文件的,好比一個包中,pytest它是執行多個以test開頭的模塊腳本,咱們先來看這種狀況,在一個包中定義兩個模塊腳本,分別是test_first.py和test_second.py,以下圖:
----運行類中的函數
經過執行pytest能夠執行模塊中的函數或者類中的方法,那麼咱們就來實現執行類中的測試函數,以下圖:
-------踩坑了。在以後的學習中,發現test_class.py這個腳本中的類函數沒法使用setup_class和teardown_class。緣由是以上的代碼實際上是unittest的腳本,搞混了。下面更改一個pytest調用類函數的腳本。
3、總結
經過以上的三個練習,咱們大體瞭解pytest的用例規則了吧。
1. 測試腳本名以test_開頭(或以_test結尾也能夠)
2. 測試腳本中如果執行函數,以test_開頭
3. 測試腳本中如果執行一個類中的函數,測試類以Test開頭,而且不能帶有init方法
4. 斷言使用assert
5. 執行文件下全部的測試腳本,命令爲pytest【cd到對應文件下執行】 或者 pytest 文件名/
6. 執行文件下指定的測試腳本,命令爲pytest -q 指定測試腳本名稱【cd到對應文件下執行】 或者 pytest 文件名/腳本名
敲黑板:
pytest -s 腳本名 用例執行詳細狀況
pytest -x 腳本名 遇到錯誤時中止測試
pytest --maxfail= num 當用例錯誤個數達到指定數量時,中止測試
pytest -h 查看pytest幫助
ok啦。。