python 测试用例管理 生成_Python的unittest和测试用例的动态创建

有没有动态创建unittest测试用例的方法?我已经试过了。。class test_filenames(unittest.TestCase):

def setUp(self):

for category, testcases in files.items():

for testindex, curtest in enumerate(testcases):

def thetest():

parser = FileParser(curtest['input'])

theep = parser.parse()

self.assertEquals(theep.episodenumber, curtest['episodenumber'])

setattr(self, 'test_%s_%02d' % (category, testindex), thetest)

…它正确地创建了所有方法(它们显示在dir()中并且是可调用的),但是unittest的测试检测器,或者nosetest执行它们(“在中运行0个测试…”)

因为我可能问错了问题-我想达到的目标是:

我有一个包含测试数据、输入文件名列表和预期数据(在上面的代码中简化为episodenumber)的文件,存储在Python字典中。关键是类别,值是测试用例列表,例如。。test_cases = {}

test_cases['example_1'] = [

{'input': 'test.01',

'episodenumber': 1},

{'input': 'test.02',

'episodenumber': 2}

]

test_cases['example_2'] = [

{'input': 'another.123',

'episodenumber': 123},

{'input': 'test.e42',

'episodenumber': 32}

]

目前,我只是循环遍历所有数据,对每个测试调用self.assertEquals。问题是,如果其中一个失败,我看不到其余的失败,因为它们也被分组到一个测试中,当断言失败时,测试将中止。

我想,解决这个问题的方法是(动态地)为每个测试用例创建一个函数,也许有更好的方法?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值