在之前,我分享過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 Windows
PyPI包名: 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就完成了。
文章首發在公眾號上,歡迎關注