測試驅(qū)動技術(shù)系列之怎么用pytest實現(xiàn)測試數(shù)據(jù)驅(qū)動

本篇內(nèi)容主要講解“測試驅(qū)動技術(shù)系列之怎么用pytest實現(xiàn)測試數(shù)據(jù)驅(qū)動”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“測試驅(qū)動技術(shù)系列之怎么用pytest實現(xiàn)測試數(shù)據(jù)驅(qū)動”吧!

克州網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,克州網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為克州上千余家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢,請找那個售后服務(wù)好的克州做網(wǎng)站的公司定做!

一組參數(shù)化數(shù)據(jù)

定義參數(shù)化數(shù)據(jù),代碼如下:

class TestDemo1: @pytest.mark.parametrize('actual_string, expect_string', [(1, 1), ('BB', 'BB'),('AA', 'BB')])        def test_1(self, actual_string, expect_string):             assert (expect_string == actual_string)

運行結(jié)果如下,三組數(shù)據(jù)在三條測試用例中運行,其中數(shù)據(jù)('AA', 'BB')運行失敗!

測試驅(qū)動技術(shù)系列之怎么用pytest實現(xiàn)測試數(shù)據(jù)驅(qū)動

多組參數(shù)化數(shù)據(jù)

在一個測試類中,可以定義多組參數(shù)化數(shù)據(jù)(參數(shù)化數(shù)據(jù)個數(shù)不同,test_1二個,test_2三個),代碼如下:

class TestDemo1:     @pytest.mark.parametrize('actual_string, expect_string', [(1, 1), ('BB', 'BB'),('AA', 'BB')])     def test_1(self, actual_string, expect_string):         assert (expect_string == actual_string)      @pytest.mark.parametrize('result, a,b', [(1, 1,0),(2, 1,0) ])     def test_2(self, result, a,b):         assert (result == a+b)

運行結(jié)果如下,二組數(shù)據(jù)分別在test_1和test_2中運行!

測試驅(qū)動技術(shù)系列之怎么用pytest實現(xiàn)測試數(shù)據(jù)驅(qū)動

從excel中讀取數(shù)據(jù)作為參數(shù)

我們可以自定義一些方法,對外部文件進行讀取,然后把讀取的數(shù)據(jù)作為參數(shù)在pytest

中引用。把測試數(shù)據(jù)保存在excel中,如下圖

測試驅(qū)動技術(shù)系列之怎么用pytest實現(xiàn)測試數(shù)據(jù)驅(qū)動

寫一個讀取excel類文件的方法,使用模塊pandas ,使用命令pip install pandas 安裝模塊,源碼如下:

import pandas as pd  # 讀取Excel文件 -- Pandas  def read_data_from_pandas(excel_file, sheet_name):      if not os.path.exists(excel_file):          raise ValueError("File not exists")      s = pd.ExcelFile(excel_file)      df = s.parse(sheet_name)#解析sheet頁的數(shù)據(jù)      return df.values.tolist()#數(shù)據(jù)返回為list

從excel中讀取數(shù)據(jù),并賦值給變量進行參數(shù)化,代碼如下:

@pytest.mark.parametrize('actual_string, expect_string', read_data_from_pandas('E:/TestData.xls', 'data1'))  def test_3(self, actual_string, expect_string):      assert (expect_string == actual_string)

運行結(jié)果如下,三組數(shù)據(jù)在三條測試用例中運行!

測試驅(qū)動技術(shù)系列之怎么用pytest實現(xiàn)測試數(shù)據(jù)驅(qū)動

注意:excel中的首行,默認(rèn)不會作為測試數(shù)據(jù)處理。

到此,相信大家對“測試驅(qū)動技術(shù)系列之怎么用pytest實現(xiàn)測試數(shù)據(jù)驅(qū)動”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

網(wǎng)站標(biāo)題:測試驅(qū)動技術(shù)系列之怎么用pytest實現(xiàn)測試數(shù)據(jù)驅(qū)動
當(dāng)前鏈接:http://muchs.cn/article46/jepseg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄靜態(tài)網(wǎng)站、網(wǎng)站導(dǎo)航響應(yīng)式網(wǎng)站、動態(tài)網(wǎng)站、網(wǎng)站營銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)