Pytest學習 入門及基礎

2021-10-25 06:18:02 字數 2839 閱讀 8001

就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...