解決@paramunittest.parametrized()不能傳入列表問(wèn)題

做python接口自動(dòng)化的時(shí)候,需要對(duì)數(shù)據(jù)進(jìn)行參數(shù)化,所以選擇用paramunittest模塊做參數(shù)化,使用修飾器@paramunittest.parametrized的時(shí)候發(fā)現(xiàn)只能傳入固定參數(shù),無(wú)法做到動(dòng)態(tài)傳參。如果需要傳入一個(gè)list就需修改下paramunittest.py文件的源碼

修改后的paramunittest.py文件源碼:

def _process_parameters(parameters_seq):
    processed_parameters_seq = []
    for i in parameters_seq:
        for parameters in i:
            if isinstance(parameters, collections.Mapping):
                processed_parameters_seq.append((tuple(),
                                                 dict(parameters)))
            elif (len(parameters) == 2
                  and isinstance(parameters[0], collections.Sequence)
                  and isinstance(parameters[1], collections.Mapping)):
                processed_parameters_seq.append((tuple(parameters[0]),
                                                 dict(parameters[1])))
            else:
                processed_parameters_seq.append((tuple(parameters),
                                                 dict()))
    return processed_parameters_seq

測(cè)試代碼(傳入一個(gè)list給@paramunittest.parametrized):

import unittest
import paramunittest

a = [{'url': 'http://admin'},{'url': 'http://user'}]

@paramunittest.parametrized(a)
class Test(unittest.TestCase):
    def setParameters(self, url):
        self.url = url

    def test_check(self):
        print("url:", self.url)

if __name__ == "__main__":
    unittest.main()

運(yùn)行成功:

C:\Users\Administrator\AppData\Local\Programs\Python\Python37\python.exe C:/Users/Administrator/Desktop/pt/test.py
..
----------------------------------------------------------------------
Ran 2 tests in 0.000s

OK
url: 127.0.0.1
url: 0.0.0.0

Process finished with exit code 0
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • http://python.jobbole.com/85231/ 關(guān)于專業(yè)技能寫(xiě)完項(xiàng)目接著寫(xiě)寫(xiě)一名3年工作經(jīng)驗(yàn)的J...
    燕京博士閱讀 7,828評(píng)論 1 118
  • 一、Python簡(jiǎn)介和環(huán)境搭建以及pip的安裝 4課時(shí)實(shí)驗(yàn)課主要內(nèi)容 【Python簡(jiǎn)介】: Python 是一個(gè)...
    _小老虎_閱讀 6,353評(píng)論 0 10
  • Python史上最全開(kāi)發(fā)總結(jié)(轉(zhuǎn)自靜熙老師哈哈哈) 兩本不錯(cuò)的書(shū): 《Python參考手冊(cè)》:對(duì)Python各個(gè)標(biāo)...
    春風(fēng)在抱閱讀 854評(píng)論 1 4
  • 寫(xiě)在前面的話 代碼中的# > 表示的是輸出結(jié)果 輸入 使用input()函數(shù) 用法 注意input函數(shù)輸出的均是字...
    FlyingLittlePG閱讀 3,237評(píng)論 0 9
  • 我不知道這些事你們是否經(jīng)常會(huì)遇到,但是我真的每天都在經(jīng)歷著。 冒著嚴(yán)寒,頂著大風(fēng)去小吃攤幫室友帶吃的,看著那長(zhǎng)長(zhǎng)的...
    橘籽小姐閱讀 284評(píng)論 0 1

友情鏈接更多精彩內(nèi)容