pythonunittest單元測試框架中如何對

2021-07-08 21:56:12 字數 3286 閱讀 1121

1樓:歐陽盆栽

#首先pyunit不像junit一樣支援引數化測試。。。不過不是不能實現,只是pyunit的作者想讓#這個東西變得儘量簡單。所以不去實現。

當然這個pyhon語言足夠動態,你可以自己去實現

#外部輸入引數測試。

import unittest

class parametrizedtestcase(unittest.testcase):

""" testcase classes that want to be parametrized should

inherit from this class.

"""def __init__(self, methodname='runtest', param=none):

super(parametrizedtestcase, self).__init__(methodname)

self.param = param

@staticmethod

def parametrize(testcase_klass, param=none):

""" create a suite containing all tests taken from the given

subclass, passing them the parameter 'param'.

"""testloader = unittest.testloader()

testnames = testloader.gettestcasenames(testcase_klass)

suite = unittest.testsuite()

for name in testnames:

suite.addtest(testcase_klass(name, param=param))

return suite

##用法-testcase

class testone(parametrizedtestcase):

def test_something(self):

print 'param =', self.param

self.assertequal(1, 1)

def test_something_else(self):

self.assertequal(2, 2)

##用法-測試

suite = unittest.testsuite()

suite.addtest(parametrizedtestcase.parametrize(testone, param=42))

suite.addtest(parametrizedtestcase.parametrize(testone, param=13))

unittest.texttestrunner(verbosity=2).run(suite)

#結果test_something (__main__.testone) ... param = 42

oktest_something_else (__main__.testone) ... ok

test_something (__main__.testone) ... param = 13

oktest_something_else (__main__.testone) ... ok

ran 4 tests in 0.000s

ok當然最好的方法就是用別人寫的東西。。。

這個拿去,不謝

2樓:百度經驗

__init 。這個題我是想測試一下的

python unittest 測試用例之間的變數怎麼傳遞

3樓:匿名使用者

def f():

global a

a=1def f1():

b=aprint(b)

f()f1()

在第一個中把id設定為全域性變數,不過這種方式必須要1在2之前要執行

python+unittest介面自動化執行多條測試用例怎麼實現?

4樓:匿名使用者

我的理解是,如果都在一個class裡面,確實是需要 def test_*** 20個的,也可以直接把所有的用例寫到一個def test_xx裡面的,如果前面的操作步驟一樣的話,這兩個的差距不大的

5樓:匿名使用者

引數動態化,可以使用ddt,參考一下ddt

python中unittest 單元測試呼叫沒有呼叫到測試用例,新手求指點

6樓:騰訊電腦管家

testcase 測試用例,就是功能裡那樣一條條用例testsuite 多個測試用例集合在一起,就是testsuite,就是一個功能模組的所有用例放這裡了

testloader是用來載入testcase到testsuite中的,這個方法很好玩,可以將一個目錄下的所有python檔案裡的測試用例摳出來

testrunner是來執行測試用例的,測試的結果會儲存到testresult例項中,包括執行了多少測試用例,成功了多少,失敗了多少等資訊

7樓:匿名使用者

沒太明白你的意思,按你現在發出來的截圖,print(b)確實只能列印,因為按你的**,變數b接收到的是discover返回的資料,而discover返回的就是testsuite的一個例項。

你是想問test-baidu.py為啥沒執行嗎?因為沒看到你的內部**,我只能猜測:

① 確定下test-baidu.py中的測試類是否繼承了unittest.testcase,如果沒繼承,肯定執行不到

② 確定test-baidu.py中類的方法名(你編寫的測試用例方法),是否以test開頭,不按這個開頭,而你的python原始碼中也沒改的話,不會被載入到測試套件裡。

③確定716資料夾中__init__.py中是否包含load_tests方法,如果有,discover也只會載入load_tests中載入的方法。

話說,你的測試類檔名中為啥要用“-”,這個合適嗎?

python unittest 執行給定的測試用例?

8樓:匿名使用者

#setup 還有 teardown就是用來做工作的不是麼class mytest(unittest.testcase):

def setup(self):

demo1()

def teardown(self):

demo2()

電腦配置單,電腦配置單

顯示器寬屏的比標準屏的便宜知道不 17標準屏可以買19寬屏了 u的話建議用e5200,差價不大,但效能質的飛躍。而且用很久也不會嫌落後。電源建議用300w的,以後公升級就不用再換電源了。其他都還行。我可以告訴你要的配置至少要2500,5 4 普屏顯示器比寬屏貴 兩千包顯示器也差不多了 處理器300 ...

索尼微單和單電的有什麼優勢?微單及單電有什麼區別?求答案

索尼單電和單反的優缺點簡單闡述的話如下 單電 擁有乙個固定的半透明反光板,採用電子取景器代表機型 索尼slt a55 slt a33優點 連拍速度快,攝像時可以自動對焦。缺點 相比單反,更耗電。微單 沒有反光板,外形更類似傳統小dc,但可以換鏡頭代表機型 索尼nex 5c 索尼nex 3c優點 體積...

衣服原單尾單,外貿原單和尾單的區別是什麼,線上等

這種衣服就是最好質量的而餘下一點的貨。做服裝,無非就是做散貨和加盟品牌。做散貨,投資相對來說要少,可供你自己選擇的服裝款式比較多。但是做散貨卻會遇到顧客還價的現象,有些時候遇到狠的顧客,還的你利潤甚小了,但是有時候又為了能多成交一單生意,也只有薄利賣出去。做品牌,在質量上有得保障,款式獨特,有自己的...