unittests---參數化(paramunittest)


  前面介紹了unittests中的參數化庫--ddt,今天介紹另外一種參數化庫Parameterized。

paramunittest

1、通過pip的方法進行安裝: pip install paramunittest 

2、官方文檔:https://pypi.python.org/pypi/ParamUnittest/

3、源碼地址:https://github.com/rik0/ParamUnittest

這個時候安靜還是要提下,如果不知道這個庫是干什么的?那么我們就先去官方文檔中看看,或者去看源碼,這不好巧,源碼中提到有使用場景以及用法

這是安靜截圖的源碼內容,大家可以去源碼進行查看。從圖中可以看到,介紹了兩種方法,兩種方法都可以使用,具體的要看大家喜歡哪一種

小試牛刀

數據以元祖的形式進行存放。通過parametrized方法進行添加參數

# coding:utf-8
import unittest
import paramunittest
# 參數位置

@paramunittest.parametrized(
    ( "anjing", "test"),
    ("anjing1", "test"),
    ( "anjing2", "test"),
)

class TestDemo(unittest.TestCase):
    def setParameters(self, name, test):
        self.user = name
        self.pwd = test

    def testcase(self):
        print("用戶名:%s" % self.user)
        print("密碼:%s" % self.pwd)

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

結果:

testcase (paramunittest.TestDemo_0) ... ok
用戶名:anjing
testcase (paramunittest.TestDemo_1) ... ok
密碼:test
testcase (paramunittest.TestDemo_2) ... ok
用戶名:anjing1

密碼:test
----------------------------------------------------------------------
用戶名:anjing2
Ran 3 tests in 0.000s
密碼:test

OK

我們從案例中可以看到參數不僅僅可以通過元祖的形式存放,也可以通過字典的形式

注意:字典形式的參數需要下面我們要進行一一對應。

# coding:utf-8
import unittest
import paramunittest
# 參數位置

@paramunittest.parametrized(
    {"user":'anjing',"pwd":"test"},
    {"user":'anjing1',"pwd":"test1"},
    {"user":'anjing2',"pwd":"test2"},
)

class TestDemo(unittest.TestCase):
    def setParameters(self, user, pwd):
        self.user = user
        self.pwd = pwd

    def testcase(self):
        print("用戶名:%s" % self.user)
        print("密碼:%s" % self.pwd)

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

結果:

用戶名:anjing
密碼:test
testcase (paramunittest.TestDemo_0) ... ok
用戶名:anjing1
密碼:test1
testcase (paramunittest.TestDemo_1) ... ok
用戶名:anjing2
testcase (paramunittest.TestDemo_2) ... ok
密碼:test2

----------------------------------------------------------------------
Ran 3 tests in 0.000s

OK

 

 

嗯。。最近安靜工作比較忙,更新可能會慢點,但是都是會持續更新的,安靜也自己一點點學習,大家共同學習,共同進步

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM