python数据驱动举例
首先下载安装unittest-data-provider-1.0.1.tar.gz示例一:
1
2
3
4
5
6
#myclass.py
class myClass():
def sum(self,num_a,num_b):
return num_a+num_b
def sub(self,num_a,num_b):
return num_a-num_b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#test_myClass.py
import unittest
from unittest_data_provider import data_provider
from myclass import myClass
class TestMyClass(unittest.TestCase):
sum_provider=lambda:(
(1,1,2),
(1,2,3),
(1,3,4),
)
@data_provider(sum_provider)
def test_sum(self,num_a,num_b,res):
print num_a,num_b,res
test=myClass()
self.assertEqual(res,test.sum(num_a,num_b))
实例二:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#sort.py
class Sort():
@staticmethod
def bubble_sort(arr):
arr=list(arr)
if len(arr)<=1:
return arr
for i in range(1,len(arr)):
for j in range(len(arr)-i):
if arr > arr:
arr,arr=arr,arr
return arr
@staticmethod
def quick_sort(arr):
arr=list(arr)
if len(arr)<=1:
return arr
arr_l = []
arr_r = []
arr_m = []
key = arr
for i in arr:
if i<key:
arr_l.append(i)
elif i>key:
arr_r.append(i)
else:
arr_m.append(i)
arr_l = Sort.quick_sort(arr_l)
arr_r = Sort.quick_sort(arr_r)
return arr_l + arr_m + arr_r
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#test_sort.py
import unittest
from sort import Sort
from unittest_data_provider import data_provider
class TestSort(unittest.TestCase):
quick_sort_provider = lambda :(
([]),
(),
(),
((15,12,36,22,1,7,18)),
)
@data_provider(quick_sort_provider)
def test_quick_sort(self,*arr):
#print sorted(arr)
self.assertEquals(sorted(arr),Sort.quick_sort(arr))
页:
[1]