最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python的pytest框架之命令行參數(shù)詳解(下)

 更新時間:2019年06月27日 10:18:42   作者:linux超  
這篇文章主要介紹了python的pytest框架之命令行參數(shù)詳解,今天將繼續(xù)更新其他一些命令選項的使用,和pytest收集測試用例的規(guī)則,需要的朋友可以參考下

前言

上篇說到命令行執(zhí)行測試用例的部分參數(shù)如何使用?今天將繼續(xù)更新其他一些命令選項的使用,和pytest收集測試用例的規(guī)則!

pytest執(zhí)行用例命令行參數(shù)

--collect-only:羅列出所有當(dāng)前目錄下所有的測試模塊,測試類及測試函數(shù)

--tb=style:屏蔽測試用例執(zhí)行輸出的回溯信息,可以簡化用例失敗時的輸出信息。style可以是 on,line,short,具體區(qū)別請自行體驗

--lf:當(dāng)一次用例執(zhí)行完成后,如果其中存在失敗的測試用例,那么我們可以使用此命令重新運行失敗的測試用例

我們第一次執(zhí)行用例,會看到有2個用例失敗

我們使用--lf參數(shù)再次運行用例,可以發(fā)現(xiàn)只有之前失敗的兩個用例重新執(zhí)行了一次

--ff:如果上次測試用例出現(xiàn)失敗的用例,當(dāng)使用--ff后,失敗的測試用例會首先執(zhí)行,剩余的用例也會再次執(zhí)行一次

小結(jié)

以上就是命令行運行測試用例時經(jīng)常使用到的參數(shù),這些參數(shù)不僅可以單獨使用,也可以組合一起使用,后期還會涉及到使用fixture時的一些命令,現(xiàn)在不需要了解。你可以使用--help來查看一些命令幫助信息!

pytest收集測試用例的規(guī)則

1)從一個或者多個目錄開始查找,你可以在命令行指定文件或者目錄,如果未指定那么從當(dāng)前目錄開始收集用例

2)在該目錄和所有子目錄下遞歸查找測試模塊

3)測試模塊是指文件名為test_*.py或者*_test.py的文件

4)在測試模塊中查找以test_開頭的函數(shù)

5)查找名字以Test開頭的類。其中首先篩選掉包含__init__()函數(shù)的類,再查找類中以Test_開頭的類方法

規(guī)則驗證

現(xiàn)在我們就依次演示pytest搜索測試用例的過程

首先我們按照以下目錄結(jié)構(gòu)新建一個項目

每個文件編寫如下代碼(我們只是為了驗證規(guī)則,所以用例些的很簡單,實際項目不會存在這樣簡單的用例)

test_測試模塊1.py

 # 測試函數(shù)
 def test_2():
 assert 1 == 1
 # 普通函數(shù)
 def func_2():
 print('普通函數(shù)') 
 # 測試類
 class TestClass_2(object):
# 測試函數(shù)
def test_class_3(self):
assert 1 == 1
# 普通函數(shù)
def func_class_3(self):
assert 1 == 1
# 普通類
class NoTestClass_2(object):
# 測試函數(shù)
def test_class_4(self):
assert 1 == 1
 # 普通函數(shù)
 def func_class_4(self):
 assert 1 == 1

test_測試模塊2.py

 # 測試函數(shù) 
 def test_1(): 
 assert 1==1
 # 普通函數(shù)
 def func_1():
 print('普通函數(shù)')
# 測試類
class TestClass_1(object):
# 測試函數(shù)
def test_class_1(self):
assert 1==1
# 普通函數(shù)
def func_class_1(self):
assert 1==1
# 普通類
class NoTestClass_1(object):
# 測試函數(shù)
def test_class_2(self):
assert 1 == 1
# 普通函數(shù)
def func_class_2(self):
assert 1 == 1

測試用例.py

 # 測試函數(shù)
 def test_one():
 assert 1==1
 # 普通函數(shù)
 def func():
 assert 1==1

代碼分析

我們現(xiàn)在根據(jù)理論分析并結(jié)合代碼,可以大致計算出,從項目根目錄執(zhí)行用例,應(yīng)該會執(zhí)行4條有效測試用例!

我們在項目根目錄下執(zhí)行pytest --collect-only看下情況,可以發(fā)現(xiàn) 搜索了test_測試模塊1和test_測試模塊2文件,并包括TestClass_2和TestClass_1類及內(nèi)部test_class_3和test_class_1 和外部的測試函數(shù)test_2,test_1.

D:\pytest搜索測試用例規(guī)則>pytest --collect-only
============================= test session starts =============================
platform win32 -- Python 3.6.4, pytest-3.8.0, py-1.6.0, pluggy-0.7.1
rootdir: D:\pytest搜索測試用例規(guī)則, inifile:
collected 4 items
<Package 'D:\\pytest搜索測試用例規(guī)則\\測試用例目錄1'>
<Module 'test_測試模塊1.py'>
<Function 'test_2'>
<Class 'TestClass_2'>
<Instance '()'>
<Function 'test_class_3'>
<Module 'test_測試模塊2.py'>
<Function 'test_1'>
<Class 'TestClass_1'>
<Instance '()'>
<Function 'test_class_1'>
======================== no tests ran in 0.14 seconds =========================

我們大致已經(jīng)能看出pytest的搜索規(guī)則,現(xiàn)在們再執(zhí)行一下所有用例看下 使用命令 pytest -v??梢钥闯龃_實只有4個用例被執(zhí)行了,也就是只識別到了4個用例,根據(jù)下面的輸出信息可以看出每個用例所在的位置

D:\pytest搜索測試用例規(guī)則>pytest -v
============================= test session starts =============================
platform win32 -- Python 3.6.4, pytest-3.8.0, py-1.6.0, pluggy-0.7.1 -- c:\python36\python.exe
cachedir: .pytest_cache
rootdir: D:\pytest搜索測試用例規(guī)則, inifile:
collected 4 items
測試用例目錄1/test_測試模塊1.py::test_2 PASSED [ 25%]
測試用例目錄1/test_測試模塊1.py::TestClass_2::test_class_3 PASSED [ 50%]
測試用例目錄1/test_測試模塊2.py::test_1 PASSED [ 75%]
測試用例目錄1/test_測試模塊2.py::TestClass_1::test_class_1 PASSED [100%]
========================== 4 passed in 0.07 seconds ===========================

大家可以自己試試修改文件,函數(shù),類名稱,然后執(zhí)行用例,查看是否會按照自己的想法執(zhí)行用例!

總結(jié)

ok,通過這兩篇文章,我們大概已經(jīng)知道如何命名測試模塊,測試類,測試函數(shù),并且如何使用簡單的命令行執(zhí)行測試用例。那么就趕緊動手試試吧!

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • TensorFlow實現(xiàn)簡單的CNN的方法

    TensorFlow實現(xiàn)簡單的CNN的方法

    這篇文章主要介紹了TensorFlow實現(xiàn)簡單的CNN的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Python序列排序的具體場景實現(xiàn)

    Python序列排序的具體場景實現(xiàn)

    本文主要介紹了Python序列排序的具體場景實現(xiàn),主要介紹了內(nèi)置的sort()方法或者全局的sorted()方法著兩種方法,具有一定的參考價值,感興趣的可以了解一下
    2025-01-01
  • Python利用treap實現(xiàn)雙索引的方法

    Python利用treap實現(xiàn)雙索引的方法

    所遍歷的元素一定是遞增(小堆)或是遞減(大堆)關(guān)系,但是我們無法得知左子樹與右子樹兩部分節(jié)點的排序關(guān)系。本文就來講講算法和數(shù)據(jù)結(jié)構(gòu)共同滿足一組特性,感興趣的小伙伴請參考下面文章的內(nèi)容
    2021-09-09
  • pandas 如何保存數(shù)據(jù)到excel,csv

    pandas 如何保存數(shù)據(jù)到excel,csv

    這篇文章主要介紹了pandas 如何保存數(shù)據(jù)到excel,csv的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Pytorch建模過程中的DataLoader與Dataset示例詳解

    Pytorch建模過程中的DataLoader與Dataset示例詳解

    這篇文章主要介紹了Pytorch建模過程中的DataLoader與Dataset,同時PyTorch針對不同的專業(yè)領(lǐng)域,也提供有不同的模塊,例如?TorchText,?TorchVision,?TorchAudio,這些模塊中也都包含一些真實數(shù)據(jù)集示例,本文給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2023-01-01
  • 詳解從Django Rest Framework響應(yīng)中刪除空字段

    詳解從Django Rest Framework響應(yīng)中刪除空字段

    這篇文章主要介紹了詳解從Django Rest Framework響應(yīng)中刪除空字段,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • Python的SQLAlchemy框架使用入門

    Python的SQLAlchemy框架使用入門

    這篇文章主要介紹了Python的SQLAlchemy框架使用入門,SQLAlchemy框架是Python中用來操作數(shù)據(jù)庫的ORM框架之一,需要的朋友可以參考下
    2015-04-04
  • Python實現(xiàn)在PDF中插入單圖像水印和平鋪圖像水印

    Python實現(xiàn)在PDF中插入單圖像水印和平鋪圖像水印

    這篇文章主要為大家詳細(xì)介紹了如何使用Python實現(xiàn)在PDF中插入單圖像水印和平鋪圖像水印,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-04-04
  • 跟老齊學(xué)Python之復(fù)習(xí)if語句

    跟老齊學(xué)Python之復(fù)習(xí)if語句

    是否記得,在上一部分,有一講專門介紹if語句的:從if開始語句的征程。在學(xué)習(xí)if語句的時候,對python編程的基礎(chǔ)知識了解的還不是很多,或許沒有做什么太復(fù)雜的東西。本講要對它進(jìn)行一番復(fù)習(xí),通過復(fù)習(xí)提高一下。如果此前有的東西忘記了,建議首先回頭看看前面那講。
    2014-10-10
  • python中取絕對值簡單方法總結(jié)

    python中取絕對值簡單方法總結(jié)

    在本篇內(nèi)容里小編給大家整理的是關(guān)于python中取絕對值簡單方法,需要的朋友們可以學(xué)習(xí)下。
    2020-07-07

最新評論

东港市| 峨眉山市| 呼玛县| 武汉市| 红河县| 加查县| 安顺市| 北碚区| 靖宇县| 礼泉县| 连平县| 新津县| 天等县| 龙泉市| 阿城市| 登封市| 霍州市| 嵊州市| 天峨县| 温泉县| 仁化县| 临夏市| 本溪| 泸溪县| 清流县| 柳州市| 柯坪县| 花莲县| 赞皇县| 安西县| 白玉县| 珲春市| 温泉县| 孟村| 通许县| 荣成市| 陇川县| 灵璧县| 呼玛县| 深泽县| 花莲县|