testbase.datadrive Package

数据驱动模块

使用介绍: 1、在TestCase类前面加入@DataDrive装饰器,参数为测试数据列表或者字典:

@datadrive.DataDrive([1,2,3])
class Test(tc.TestCase):
    def runTest(self):
        pass

@datadrive.DataDrive(
    {
    'TEST1':1,
    'TEST2':2,
    'TEST3':3,
    }
    )
class Test(tc.TestCase):
    def runTest(self):
        pass

在测试报告中展示用例名字时,若参数为列表的,则在用例后面增加一个索引序号,若参数为字典的,则在用例后面增加上key的名字:

  • 列表显示为:

    Test#1
    Test#2
    Test#3
    
  • 字典显示为:

    Test#TEST1
    Test#TEST2
    Test#TEST3
    

2、可以在runTest里通过self.casedata使用测试数据:

def runTest(self):
    print(self.casedata)

3、运行及调试方法和原来一样:

MyTest().run()


完整的例子如下::

# -*- coding: utf-8 -*-

import testbase.testcase as tc
import testbase.datadrive as datadrive

@datadrive.DataDrive([1,2,3])
class MyTest(tc.TestCase):
    """test
    """

    owner = 'foo'
    priority = tc.TestCase.EnumPriority.High
    status = tc.TestCase.EnumStatus.Ready
    timeout = 5

    def runTest(self):
        print 'runTest, casedata:', self.casedata


if __name__ == '__main__':
    MyTest().run()
class testbase.datadrive.DataDrive(case_data)

基类:object

数据驱动类修饰器,标识一个测试用例类使用数据驱动

testbase.datadrive.get_datadrive(obj)

获取对应用例的数据驱动

参数:obj (TestCase/type) -- 测试用例或测试用例类

:returns DataDrive

testbase.datadrive.is_datadrive(obj)

是否为数据驱动用例

参数:obj (TestCase/type) -- 测试用例或测试用例类

:returns boolean

testbase.datadrive.load_datadrive_tests(cls, name=None, exclude_data_key=None, attrs=None)

加载对应数据驱动测试用例类的数据驱动用例