Pytest - 概述&入門
簡介
-
Pytest是一款強大的python自動化測試工具,可以勝任各種型別或者級別的軟體測試工作;
-
pytest提供了豐富的功能,包括assert重寫,第三方外掛,以及其他測試工具無法比擬的fixture模型;
-
pytest是一個軟體測試框架,是一款命令列工具,可以自動找到測試用例執行,並且回報測試結果;
-
豐富的基礎庫,可以大幅度提高使用者編寫測試用例的效率。具備擴充套件性,使用者可以自己編寫外掛,或者安裝第三方提供的外掛;
-
以很容易地與其他工具整合到一起使用。比如持續整合,web自動化測試等。
安裝
pip install pytest
用例約束
用Pytest寫用例時候,一定要按照下面的規則去寫,否則不符合規則的測試用例是不會執行的。
- 用例收集規則:
- 以
test_
開頭的測試檔案,例如test_login.py
- 以
Test
開頭的測試類,例如class Test_login:
- 以
test_
開頭的測試函式,例如def test_login():
- 以
- 執行用例規則:
- 執行指定目錄下用例:
pytest 目錄/目錄
- 執行指定python檔案:
pytest 目錄/檔名.py
- 執行指定類或者函式:
pytest 目錄/檔名.py::類名::函式名
- 執行指定目錄下用例:
快速入門
test_login.py
# -*- coding:utf-8 -*-
import pytest
# 測試類名稱以Test開頭
class Test_Login:
# 函式命名使用test開頭或結尾
def test_a(self):
abc = 0+1
assert abc # 斷言成功
# 在單測類中,可以包含一個或多個test開頭的函式
def test_b(self):
abc = 1-1
assert abc # 斷言失敗
if __name__ == "__main__":
pytest.main(['-s', "test_login.py"])