Pytest運(yùn)行方式及參數(shù)使用示例詳解
一、前言
Pytest 共有三種運(yùn)行方式分別是
- 主函數(shù)運(yùn)行方式
- 命令行運(yùn)行方式
- 通過讀取pytest.ini 配置文件運(yùn)行
二、運(yùn)行方式
# test_case01.py
class TestDemo1:
def test_01_demo(self):
print("test_01")
def test_02_demo(self):
print("test_02")#模塊2:test_case02.py
class TestDemo2:
def test_01_demo(self):
print("test_02")2.1 主函數(shù)運(yùn)行
1.運(yùn)行所有測試模塊
新建一個py文件用于運(yùn)行主函數(shù),右擊選擇文件即可運(yùn)行,如下案例所示
# 運(yùn)行文件:all.py
import pytest
if __name__ == '__main__':
pytest.main(['-vs'])2.運(yùn)行單個測試模塊
以上案例是運(yùn)行所有測試模塊,如果想運(yùn)行單個測試模塊,寫法如下
import pytest if __name__ == '__main__': pytest.main(['-vs','test_case01.py'])
3.運(yùn)行指定測試用例
運(yùn)行test_case01.py測試模塊中test_02_demo()測試用例,這種運(yùn)行方式采用 nodeid 指定測試用例運(yùn)行(nodeid由模塊名、分隔符、類名、方法名、函數(shù)名組成)。
import pytest if __name__ == '__main__': pytest.main(['-vs','test_case01.py::TestDemo1::test_02_demo'])
2.2 命令行運(yùn)行
1.運(yùn)行所有測試模塊
# 在對應(yīng)目錄下,輸入`pytest -vs` 命令即可運(yùn)行 pytest -vs
2.運(yùn)行指定測試模塊
pytest -vs test_case01.py
3.運(yùn)行指定測試用例
pytest -vs test_case01.py::TestDemo1::test_02_demo
2.3 通過讀取pytest.ini 配置文件運(yùn)行
pytest.ini 文件介紹
pytest.ini 文件是 pytest 單元測試框架的核心配置文件。
位置:一般放在項(xiàng)目的根目錄下
編碼:必須是ANSI,可以使用noepad++修改編碼
作用:改變 pytest 默認(rèn)的行為(可以更改模塊名以test等等規(guī)定)
運(yùn)行的規(guī)則:不管是主函數(shù)的模式運(yùn)行,還是命令行模式運(yùn)行,都會去讀取這個配置文件。
在根目錄下創(chuàng)建 pytest.ini 文件,內(nèi)容如下所示
[pytest] addopts = -p no:warnings -vs testpaths = ./testcase python_files = test_*.py python_classes = Test* python_functions = test*
如果在命令行輸入 Pytest,則會運(yùn)行 ./testcase 目錄下,以 test_*.py文件開頭,類名以 Test*開頭、函數(shù)以 test*開頭的文件。
三、修改Pytest默認(rèn)規(guī)則
在【Pytest實(shí)戰(zhàn)】pytest 基本概念及使用大全文章中,給大家初步介紹了Pytest的默認(rèn)規(guī)則,然后通過 pytest.ini配置文件可以改變Pytest默認(rèn)規(guī)則。
假如運(yùn)行以aaa開頭的測試文件,以AAA開頭的類,以aatest開頭的測試用例。
[pytest] addopts = -p no:warnings -vs testpaths = ./testcase python_files = aaa_*.py python_classes = AAA* python_functions = aatest*
- addopts 表示命令行參數(shù),當(dāng)多個參數(shù)時,用空格分隔
- testpaths 表示測試用例文件夾,切記,一點(diǎn)要寫成testpaths,不要忘記s。
- python_files 表示要執(zhí)行的測試模塊規(guī)則,默認(rèn)是以test開頭,可以在此處自定義模塊名
- python_classes 表示配置測試搜索的測試類名
- python_functions 配置測試搜索的測試函數(shù)名
四、Pytest 參數(shù)使用
在上述案例中簡單用到了Pytest參數(shù)的使用,后續(xù)文章還會詳細(xì)講解,先熟悉下吧。
| 參數(shù) | 說明及使用 |
|---|---|
| -s | 表示輸出調(diào)試信息,包括print打印信息 |
| -v | 表示更詳細(xì)的信息,通常-vs一起使用 |
| -n | 支持多線程或者分布式運(yùn)行測試用例 pytest -vs ./testcase01 -n 2 |
| -m | 分組執(zhí)行 |
到此這篇關(guān)于Pytest運(yùn)行方式及參數(shù)使用詳細(xì)教程的文章就介紹到這了,更多相關(guān)Pytest運(yùn)行方式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python的pdfplumber庫將pdf轉(zhuǎn)為圖片的實(shí)現(xiàn)
本文主要介紹了Python的pdfplumber庫將pdf轉(zhuǎn)為圖片的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06
Python基于OpenAI?API輕松實(shí)現(xiàn)PDF發(fā)票信息提取
在日常辦公中,企業(yè)和個人經(jīng)常需要處理大量的發(fā)票數(shù)據(jù),本文將介紹如何利用?OpenAI?API?和?PyMuPDF?(即?fitz)?實(shí)現(xiàn)?PDF?發(fā)票的自動信息提取,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2026-03-03
pytorch常用函數(shù)定義及resnet模型修改實(shí)例
這篇文章主要為大家介紹了pytorch常用函數(shù)定義及resnet模型修改實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
python分批定量讀取文件內(nèi)容,輸出到不同文件中的方法
今天小編就為大家分享一篇python分批定量讀取文件內(nèi)容,輸出到不同文件中的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12
機(jī)器學(xué)習(xí)之?dāng)?shù)據(jù)清洗及六種缺值處理方式小結(jié)
本文主要介紹了機(jī)器學(xué)習(xí)之?dāng)?shù)據(jù)清洗及六種缺值處理方式小結(jié),包括刪除空行、填充平均值、中位數(shù)、眾數(shù)、線性插值和隨機(jī)森林填充,具有一定的參考價值,感興趣的可以了解一下2025-03-03
通過Plotly實(shí)現(xiàn)交互式數(shù)據(jù)可視化的流程步驟
在數(shù)據(jù)科學(xué)和數(shù)據(jù)分析領(lǐng)域,數(shù)據(jù)可視化是一種非常重要的技術(shù),Plotly 是一個功能強(qiáng)大的 Python 可視化庫,它可以幫助我們創(chuàng)建交互式的數(shù)據(jù)可視化圖表,本文將介紹如何使用 Plotly 實(shí)現(xiàn)交互式數(shù)據(jù)可視化,需要的朋友可以參考下2024-05-05

