Pytest系列(一)初次瞭解

北漂的雷子發表於2022-04-12

在之前,我分享過unittest系列,後來有很多人問我,能不能出pytest的教程,正好最近在整理pytest相關的資料,那麼,就趁著這個機會,去和大家分享一下pytest系列。

 pytest是一個非常成熟的全功能的Python測試框架。那麼他有什麼優點呢。

pytest優點
入門簡單,文件豐富
支援單元測試,功能測試
支援引數化,重複執行,部分執行,測試跳過
相容其他測試框架(nose,unittest 等)
支援生成html報告
可整合CI環境(Jenkins 等)
第三方外掛豐富,良好的自定義擴充套件性

   那麼我們對比下它與unittest。

(1)unittest
測試檔案必須先 import unittest
測試類必須繼承unittest.TestCase
測試方法必須以“test_”開頭
測試類必須要有unittest.main()方法
unittest只有setup/teardown裝載測試用例
(2)pytest
測試檔名必須以“test_”開頭
測試類以Test開頭,並且不能帶有 init 方法
測試方法必須以“test_”開頭
除了有setup/teardown,還能更自由的定義fixture裝載測試用例

  那麼我們看下它支援的python

Python支援版本: Python 2.6,2.7,3.3+支援的平臺: Unix/mac and WindowsPyPI包名: pytest

          如何安裝,很簡單

pip install -U pytest

        安裝完畢後

 

 

 我們可以在安裝的時候,看到它的版本,也可以使用

 

pytest --version

  檢視版本

 

 

如何快速寫一個pytest用例呢,很簡單

def add(a:int,b:int):
    return a+b
def test_answer():
    assert add(3,4) == 7

    執行下

pytest py_test_one.py

  結果如下

 

 

用例執行通過,如果用例失敗呢?

def add(a:int,b:int):
    return a+b
def test_answer():
    assert add(3,4) == 8

 

 

  測試失敗輸出

 

 

  一個簡單的小的入門的demo就完成了。

文章首發在公眾號上,歡迎關注

 

相關文章