就python的測試框架而言,目前比較流行的就是pytest和unittest,unittest廣為人知,但就現在而言是老框架了,但是依舊有那麼多喜歡使用他來做自動化測試。
pytest是基於unittest開發的另一款更高階更好用的單元測試框架,作為知識更新,也更該去學習新知識了,它就和testng和junit一樣,無論從逼格和好用程度來看,都是完勝後者。
示例**如下:
# -*- coding: utf-8 -*-
# @time : 2020/10/15 20:10
# @author : longrong.lang
# @filename: test_demo.py
# @software: pycharm
# @cnblogs :
def add(x):
return x + 2;
class testclass(object):
# 測試是否相等
def test_add(self):
assert add(2) == 5
# 測試包含
def test_in(self):
a = 'hello world'
b = 'he'
assert b in a
# 測試不包含
def test_not_in(self):
a = 'hello'
b = 'hi'
assert b not in a
1、執行
命令列當前檔案同級目錄下,輸入如下命令:
pytest
說明:
用pytest寫用例時候,一定要按照下面的規則去寫,否則不符合規則的測試用例是不會執行的
1.檔名以 test_.py 檔案和_test.py
2.以 test_ 開頭的函式
3.以 test 開頭的類,不能包含 init 方法
4.以 test_ 開頭的類裡面的方法
5.所有的包 pakege 必項要有__init__.py 檔案
下面以windows系統為例,使用命令來來執行pytest
1、指定目錄下的所有用例
pytest
2、執行某乙個py檔案下用例
pytest 檔名.py
3、執行test_demo.py檔案中模組裡面的某個函式,或者某個類,某個類裡面的方法
說明:加v和不加-v都可以,加-v的話,列印的資訊更詳細
pytest -v test_demo.py::testclass::test_add
pytest test_demo.py::testclass::test_not_in
pytest test_demo.py::test_in
4、執行test_demo.py 模組裡面,測試類裡面的某個方法
pytest test_demo.py::test_in
5、-m 標記表示式(後面有詳解)
pytest -m login
將執行用 @pytest.mark.login 裝飾器修飾的所有測試,後面有詳解!
6、-q 簡單列印,只列印測試用例的執行結果
pytest -q test_demo.py
7、-s 詳細列印
pytest -s test_demo.py
8、-x 遇到錯誤時停止測試
pytest test_demo.py -x
9、—maxfail=num,當用例錯誤個數達到指定數量時,停止測試
pytest test_demo.py --maxfail=1
10、-k 匹配用例名稱
pytest -s -k _in test_demo.py
11、-k 根據用例名稱排除某些用例
pytest -s -k "not _in" test_demo.py
12、-k 同時匹配不同的用例名稱
pytest -s -k "add or _in" test_demo.py
使用pycharm執行pytest
1、file->settings->python integrated tools->testing下的default testrunner修改為pytest
注意:
pytest相容unittest指令碼,所以不影響之前使用unittest編寫的指令碼
3、如果和我一樣之前使用idea中pytest外掛程式編碼的話,在進行完以上兩步操作後,執行如下操作:
看完點贊 ~養成好習慣,以上內容希望對你有幫助,如果對軟體測試、介面測試、自動化測試、面試經驗交流感興趣可以加入我們。642830685,免費領取最新軟體測試大廠面試資料和python自動化、介面、框架搭建學習資料!技術大牛解惑答疑,同行一起交流。
pytest學習 基礎測試
import pytest 安裝pytest pip install pytest 檢視pytest版本 pytest version pytest引數幫助 pytest h help pytest遵循其python測試發現約定來發現所有測試 因此它會找到兩個帶test 字首的函式 且無需繼承任何子...
pytest基礎簡介及實踐舉例
pytest 是 python 的第三方單元測試框架,比自帶的 unittest 更簡潔和高效,同時相容 unittest 框架。它還有如下優點 1 簡單靈活,容易上手,文件豐富 2 支援引數化,可以細粒度地控制要測試的測試用例 4 pytest具有很多第三方外掛程式,並且可以自定義擴充套件,比較好...
pytest測試框架 一 安裝及入門
目錄 一 環境部署 二 用例設計原則 三 判斷用例執行結果的方法 四 yaml配置檔案 五 常用的執行用例的方法 六 測試報告的生成 首先python環境是必須要裝的,其次是pycharm和pytest庫。其它可以按需要選擇安裝,後面可能會用到 庫 外掛程式 工具 安裝方法 用途安裝python 3...