單元測試之路(二)

2021-09-25 14:21:11 字數 1971 閱讀 9852

引入測試集,testsuite,用於存放測試用例的容器

testsuite方法:

init(self,tests=()) 初始化,直接新增測試用例

addtest(self,test)新增乙個測試用例

addtest(self,tests)新增多個測試用例

texttestrunner執行測試集

counttestcases()統計有多少個測試用例

1.使用testsuite的addtest()新增單個用例

1.1編寫測試用例

import unittest

from unittest.test import count

class testcount(unittest.testcase):

def setup(self):

pass

def teardown(self):

pass

def test_add(self):

print(count.add(1, 3, 6) == 10)

def test_sub(self):

print(count.sub(1, 3, 6) == -8)

1.2定義測試集,並使用addtest新增測試集

def get_suite():              

count_add = testcount('test_add') #建立例項

count_sub = testcount('test_sub')

suite = unittest.testsuite() #建立乙個測試集

suite.addtest(count_add) #新增乙個測試用例

suite.addtest(count_sub)

return suite

1.3執行測試集

if __name__ == '__main__':

s = get_suite() #例項化測試集

runner = unittest.texttestrunner() #建立乙個例項

print(s.counttestcases()) #統計有多少測試用例

runner.run(s)

2.使用testsuite中addtests新增測試集

2.1多個用例的測試集使用map()函式

def get_suite():                #測試集

case_list = ['test_add','test_sub'] #建立乙個測試列

counts = map(testcount,case_list) #建立多個例項

suite = unittest.testsuite() #建立乙個測試集

suite.addtests(counts) #新增測試用例集

return suite

3.使用testsuite中__init__()新增測試用例

3.1新增乙個testsuite類

class counttestsuite(unittest.testsuite):

def __init__(self):

case_list = ['test_add', 'test_sub']

unittest.testsuite.__init__(self,map(testcount,case_list))

3.2執行測試用例集

if __name__ == '__main__':

s = counttestsuite()

runner = unittest.texttestrunner() #建立乙個例項

runner.run(s)

單元測試之路(三)

自動生成測試集,unittest.makesuite unittest.makesuite testcaseclass,prefix test 兩個引數,測試用例的類以及規定測試用例以 test 開頭 1.將乙個測試類下的testcase自動識別為測試用例 import unittest from ...

單元測試(二) 測試範疇

如果要給單元測試定義乙個明確的範疇,指出哪些功能是屬於單元測試,這似乎很難。但下面討論的四個問題,基本上可以說明單元測試的範疇,單元測試所要做的工作。1 它的行為和我期望的一致嗎?這是單元測試最根本的目的,我們就是用單元測試的 來證明它所做的就是我們所期望的。2 它的行為一直和我期望的一致嗎?編寫單...

單元測試 單元測試文章收藏

前言 前段時間公司計畫做自動化測試,自己也打算圍繞幾個點做相關調研,現在想想呢?其實對自動化測試的概念都還不是十分清晰,當時主要還是圍繞 單元測試 向qa小夥伴學習了一段時間,現由於公司重組,學習中斷,這裡簡單記錄一些單元測試好文,留待後續參考.什麼叫自動化測試?自動化測試覆蓋率?覆蓋率如何做到的?...