接口自動化:pytest----環境搭建


 

出處:https://www.cnblogs.com/yoyoketang/p/9356693.html

前言:

python鄙視鏈:pytest 鄙視 > unittest 鄙視 > robotframework 鄙視 > 記流水賬 鄙視 > "hello world"小白

所以,讓我們一起學習pytest吧。

 

pytest簡介:

pytest是python的一種單元測試框架,與python自帶的unittest測試框架類似,但是比unittest框架使用起來更簡潔,效率更高。根據pytest的官方網站介紹,它具有如下特點:

  • 非常容易上手,入門簡單,文檔豐富,文檔中有很多實例可以參考
  • 能夠支持簡單的單元測試和復雜的功能測試
  • 支持參數化
  • 執行測試過程中可以將某些測試跳過(skip),或者對某些預期失敗的case標記成失敗
  • 支持重復執行(rerun)失敗的case
  • 支持運行由nose, unittest編寫的測試case
  • 可生成html報告
  • 方便的和持續集成工具jenkins集成
  • 可支持執行部分用例
  • 具有很多第三方插件,並且可以自定義擴展

 

一、pytest安裝:

1. pip install -U pytest

2.  pip show pytest查看安裝版本

 

3.  也可以pytest -version查看安裝的版本

 

二、快速入手

----運行第一個簡單的函數

ok,如上環境安裝成功了。下面通過具體的案例來入手吧。我們先編寫一個簡單的函數,通過pytest執行或者pytest -q 腳本名,指定腳本來執行。

從上面的截圖可以看出,第一個執行斷言失敗,第二個執行斷言成功。

 

----運行多個函數

 在一個包中,或者說一個模塊的文件中,它是有多個文件的,比如一個包中,pytest它是執行多個以test開頭的模塊腳本,我們先來看這種情況,在一個包中定義兩個模塊腳本,分別是test_first.py和test_second.py,如下圖:

 

----運行類中的函數

通過執行pytest可以執行模塊中的函數或者類中的方法,那么我們就來實現執行類中的測試函數,如下圖:

 -------踩坑了。在之后的學習中,發現test_class.py這個腳本中的類函數無法使用setup_class和teardown_class。原因是以上的代碼其實是unittest的腳本,搞混了。下面更改一個pytest調用類函數的腳本。

三、總結

通過以上的三個練習,我們大致了解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啦。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM