欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

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

系統(tǒng) 1646 0

前言

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

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

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

python的pytest框架之命令行參數(shù)詳解(下)_第1張圖片

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

python的pytest框架之命令行參數(shù)詳解(下)_第2張圖片

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

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

python的pytest框架之命令行參數(shù)詳解(下)_第3張圖片

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

python的pytest框架之命令行參數(shù)詳解(下)_第4張圖片

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

python的pytest框架之命令行參數(shù)詳解(下)_第5張圖片

小結(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)新建一個項目

python的pytest框架之命令行參數(shù)詳解(下)_第6張圖片

每個文件編寫如下代碼(我們只是為了驗證規(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

            
              
                
                  
                    
                      
                        
                          
                            
                              
                                
                                  
======================== 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í)有所幫助,也希望大家多多支持腳本之家。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产精品久久久久一区二区三区 | 成人精品网 | 亚洲色综合dddd97.com | 日本三日本三级香港三级 | 久久艹逼 | 国产短视频精品区第一页 | 日韩中文字幕不卡 | 91麻豆精东果冻天美传媒老狼 | 4438激情网 | 久久久久国产成人精品亚洲午夜 | 亚洲精品欧美一区二区三区 | 成人精品久久 | 波多野结衣的一级片 | 午夜精品一区二区三区在线观看 | 国产美女高潮 | 毛片在线视频 | 香蕉成人啪国产精品视频综合网 | 色综合久久久 | 一级片视频免费观看 | 美女在线视频一区二区 | 一级一级毛片免费看 | 日本视频网站在线观看 | 国产美女一区二区三区 | 丁香九月婷婷 | 欧美精品v国产精品v日韩精品 | 久久国产精品亚洲 | 99re国产| 伊人色综合97 | 欧美日韩中文字幕在线观看 | 国内精品伊人久久久影视 | h片在线看| 欧美电影精品久久久久 | 四虎在线观看一区二区 | 日日日bbb | 久久不卡免费视频 | 精品欧美成人高清视频在线观看 | 久久国产欧美日韩精品 | www午夜视频| 91av在线播放 | 亚洲一区二区免费视频 | 日韩精品中文乱码在线观看 |