selenium 使用unittest参数化调用添加到测试套中

5 篇文章 0 订阅
4 篇文章 0 订阅

使用parameterized装饰器可以实现unittest参数化调用

import unittest
from parameterized import parameterized


class TestParameterized(unittest.TestCase):

    @parameterized.expand(['test'])
    def test_add(self, name):
        print name

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

调用该case,添加到testsuite中(addTest(testadd.TestAdd('test_add'))),执行到该方法,会报错'NoneType' object is not callable。排查问题,报错原因主要是因为装饰器理解不够。

通过unittest.defaultTestLoader.discover()方法自动发现添加case,可以执行成功,因此将其自动发现的case打印出来。

discover = unittest.defaultTestLoader.discover(allcase, 'testadd.py', topLevel)
for suite in discover:  # 使用for循环出suite,再循环出case
    for case in suite:
        print case
        testunit.addTests(case)
return testunit

发现在带了parameterized装饰器的case的名称后面带着参数相关信息:'test_add_0_test',因此将这样的case添加的到testsuite中,正确的写法应该是addTest(testadd.TestAdd('test_add_0_test')

# -*- coding: utf-8 -*-
import unittest
import testadd

def create_suite():  # 产生测试套件
    _suite = unittest.TestSuite()
    _suite.addTest(testadd.TestAdd('test_add_0_test'))
    return _suite

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值