paramunittest參數化測試基礎

 

 

 

samples:

 

import paramunittest
import unittest

@paramunittest.parametrized(
(10,20),
(30,40),
# (100,20)
)
class ApiTestDemo(paramunittest.ParametrizedTestCase): #unittest.TestCase
def setParameters(self, numa,numb):
self.a = numa
self.b = numb
def test_add_case(self):
print( '%d+%d?=%d'%(self.a,self.b,30) )
self.assertEqual( self.a + self.b,30 )

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

 

前面定義的是字典,那參數就跟前面字典的key保持一致.
 

 

demo_09.py

import paramunittest
import unittest

@paramunittest.parametrized(
{'numa':10,'numb':30},
{'numa':40,'numb':50}
)
class ApiTestDemo(paramunittest.ParametrizedTestCase):
def setParameters(self, numa, numb):
self.a = numa
self.b = numb
def test_add(self):
print('%d+%d?=%d' % (self.a, self.b, 40))
self.assertEqual(self.a + self.b, 40)

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

把數據移出去:

參考:

 

 

demo_10.py

import paramunittest
import unittest
test_data = [{'numa':10,'numb':30},{'numa':40,'numb':50}]
def get_data():
return test_data
@paramunittest.parametrized(
*get_data()
)
class ApiTestDemo(paramunittest.ParametrizedTestCase):
def setParameters(self, numa, numb):
self.a = numa
self.b = numb
def test_add(self):
print('%d+%d?=%d' % (self.a, self.b, 40))
self.assertEqual(self.a + self.b, 40)

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章