Pytest系列(一)初次了解


在之前,我分享過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就完成了。

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

 


免責聲明!

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



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