《帶你裝B,帶你飛》pytest修煉之路1- 簡介和環境准備


1. pytest簡介

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

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

2. 安裝pytest

   pytest是python語言的一個測試的第三方的庫,那么我們首先需要-安裝它。

2.1 安裝方法

  因為pytest是python語言的一個測試的第三方的庫,所以安裝方法和第三方類庫一樣通過命令,命令如下:

pip install -U pytest

2.2 查看是否安裝成功

  出現如下紅色圈起的部分,會簡單點英文的,都知道說明安裝成功

2.3 查看安裝版本

2.3.1pip show pytest查看安裝的版本
pip show pytest

2.3.2pytest --version查看安裝的版本
pytest --version

3. 牛刀小試

  1.新建一個test_bjhg_sample.py文件,(文件命名以test_*開頭或者*_test結尾)

3.1 代碼實現:

3.2 參考代碼:

# coding=utf-8
# 1.先設置編碼,utf-8可支持中英文,如上,一般放在第一行

# 2.注釋:包括記錄創建時間,創建人,項目名稱。
'''
Created on 2020-1-03
@author: 北京-宏哥
Project:《《帶你裝B,帶你飛》pytest修煉之路1- 簡介和環境准備
'''
# 3.導入模塊

# content of test_bjhg_sample.py
def func(x):
    return x +1

def test_answer():
    assert func(3)==5

3.3 運行結果:

3.3.1 第一種運行代碼方法

  在terminal中輸入pytest(或者輸入py.test也可以),運行代碼后,控制台打印如下圖的結果

3.3.1 第二種運行代碼方法

  打開test_bjhg_sample.py所在的文件夾,cmd窗口輸入:pytest(或者輸入py.test也可以),運行代碼后,控制台打印如下圖的結果

 

 

  3.pytest運行規則:**查找當前目錄及其子目錄下以test_*.py或*_test.py文件,找到文件后,在文件中找到以test開頭函數並執行。**

4. 執行測試類

  1.前面是寫的一個test開頭的測試函數,當用例用多個的時候,寫函數就不太合適了。這時可以把多個測試用例,寫到一個測試類里。

4.1 代碼實現:

4.2 參考代碼:

# coding=utf-8
# 1.先設置編碼,utf-8可支持中英文,如上,一般放在第一行

# 2.注釋:包括記錄創建時間,創建人,項目名稱。
'''
Created on 2020-1-03
@author: 北京-宏哥
Project:《《帶你裝B,帶你飛》pytest修煉之路1- 簡介和環境准備
'''
# 3.導入模塊

# content of test_class.py
class TestClass:
    def test_one(self):
        x = "this"
        assert "h" in x

    def test_two(self):
        x = "hello"
        assert hasattr(x, "check")

4.3 運行結果:

  運行代碼后,控制台打印如下圖的結果

  2.打開cmd,cd到test_class.py的文件目錄,如果只想運行這個文件,加上-q參數,-q參數用來指定執行的文件,不指定就執行該文件夾下所有的用例。pytest會找到符合規則(test_.py和_test.py)所有測試,因此它發現兩個test_前綴功能。 如果只想運行其中一個,可以指定傳遞文件名test_class.py來運行模塊:

  備注: -q, --quiet decrease verbosity( 顯示簡單結果)

py.test -q test_class.py

  第一次測試通過,第二次測試失敗。 您可以在斷言中輕松查看失敗的原因。

5. 使用規則

  • 測試文件以test_開頭(以_test結尾也可以)
  • 測試類以Test開頭,並且不能帶有 __init__ 方法
  • 測試函數以test_開頭
  • 斷言使用assert

6. 小結

  好了,今天的分享就到這里吧!!!謝謝各位的耐心閱讀。有問題加群交流討論!!!

 

您的肯定就是我進步的動力。如果你感覺還不錯,就請鼓勵一下吧!記得隨手點波  推薦  不要忘記哦!!!

別忘了點 推薦 留下您來過的痕跡

 


免責聲明!

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



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