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()
入庫單 出庫單 領料單 收料單,入庫單,出庫單,送貨單,領料單,收料單用英語怎麼說
具體流程如下,此流程只涉及物料採購以後的業務,對於物料採購的審批不在此流程內 1 如果貨物運抵倉庫 1 採購部門按照經過審批的採購單 或者簽署的合同 進行採購,物料運抵倉庫,由倉庫保管員驗收後簽署入庫單,入庫單共三聯,一聯倉庫留存,一聯財務記賬,一聯採購部備查。2 土建部或者綠化部需要領料,需要出示...
「大單壓盤大單托盤」是什麼意思,大單壓盤大單托盤,什麼意思。
你好。這個一般都是主力在做盤,調控 通常都是壓單必過,託單必破。所以可以參考一下這兩句話。上午2個大單托盤下午1個大單壓盤是什麼意思?上午主力機構看多,下午主力看大勢已去,順勢做空。但主力也會被打臉的,估計今天又要翻多了。在地位在高位都有這種型別的操作。在於自己鑑別位置。而且這玩意沒有量化分析的依據...
電腦配置單 急 電腦配置單?
穩定性肯定不如原裝機,但是家用可以了,不過你的電腦的配置不是很高,沒有什麼升級的潛力,希望你能升級下記憶體,能配個獨顯就很好了!已經非常的夠了。主要你知道這些硬體的牌子麼?cpu 硬碟 和電源的品牌的你都沒說,品牌的重要性非常高 尤其是cpu 和主機板的 別被黑了 按照自己品牌 去中關村 可以查一查...