尝试在unittest中一个用例使用多套数据,代码如下,请高手指点一下:
Data.py文件
#coding=utf-8
adict = {"key1":"value1","key2":"value2","key3":"value3"}
bdict = {"key1":"valuea","key2":"valueb","key3":"valuec"}
Case.py文件
#coding=utf-8
import unittest,time
import HTMLTestRunner
import Data
class MyTestCase(unittest.TestCase):
dict = {}
def SetData(dict):
MyTestCase.dict = dict
def testCase1(self):
print self.dict["key1"]
print self.dict["key2"]
self.assertEqual("a","a")
def testCase2(self):
print self.dict["key1"]
print self.dict["key2"]
self.assertEqual("b","b")
def Suite1():
suiteTest = unittest.TestSuite()
MyTestCase.dict = Data.adict
suiteTest.addTest(MyTestCase("testCase1"))
suiteTest.addTest(MyTestCase("testCase2"))
return suiteTest
def Suite2():
suiteTest = unittest.TestSuite()
MyTestCase.dict = Data.bdict
suiteTest.addTest(MyTestCase("testCase1"))
suiteTest.addTest(MyTestCase("testCase2"))
return suiteTest
if __name__ == '__main__':
#确定生成报告的路径
suite = unittest.TestSuite((Suite1(),Suite2()))
filePath = "D:/pyResult.html"
fp = file(filePath,'wb')
#生成报告的Title,描述
runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title='Python Test Report',description='This is Python Report')
runner.run(suite)
fp.close()
问题:
我在Suite1()和Suite2()中分别用了adict和bdict两组数据,但在报告中实际使用的都是bdict中的数据,不知道为啥啊,请高手指点一下,非常感谢。