python数据驱动举例

首先下载安装unittest-data-provider-1.0.1.tar.gz

示例一:

#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
#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))

实例二:

#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[j] > arr[j+1]:
                    arr[j],arr[j+1]=arr[j+1],arr[j]
        return arr
         
    @staticmethod
    def quick_sort(arr):
        arr=list(arr)
        if len(arr)<=1:
            return arr
        arr_l = []
        arr_r = []
        arr_m = []
        key = arr[0]
        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
#test_sort.py
import unittest
from sort import Sort
from unittest_data_provider import data_provider
class TestSort(unittest.TestCase):
     
     quick_sort_provider = lambda :(
         ([]),
         ([7]),
         ([15,12,36,22,1,7,18]),
         ((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))
时间: 2024-10-25 21:16:22

python数据驱动举例的相关文章

【webdriver自动化】Python数据驱动工具DDT

一.Python数据驱动工具ddt 1.  安装 ddt pip install ddt DDT是 "Data-Driven Tests"的缩写 资料:http://ddt.readthedocs.io/en/latest/ 2.  DDT的使用 (1)   ddt.ddt: 装饰类,也就是继承自TestCase的类 (2)   ddt.data: 装饰测试方法.参数是一系列的值. (3)   ddt.file_data: 装饰测试方法.参数是文件名.文件可以是json 或者 yaml

Python 数据驱动 unittest + ddt

一数据驱动测试的含义: 在百度百科上的解释是:数据驱动测试,即黑盒测试(Black-box Testing),又称为功能测试,是把测试对象看作一个黑盒子.利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程.数据驱动测试注重于测试软件的功能性需求,也即数据驱动测试使软件工程师派生出执行程序所有功能需求的输入条件. 在微软网站上的解释是: 数据驱动的单元测试是为数据源中的每一行重复运行的一种单元测试.数据驱动的单元测试的常用情况是使用多个输入值测试 API.不

Python 数据驱动ddt 使用

准备工作: pip install ddt 知识点: 一,数据驱动和代码驱动: 数据驱动的意思是  根据你提供的数据来测试的  比如 ATP框架 需要excel里面的测试用例 代码驱动是必须得写代码 它才能测试 比如说unittest 二,使用数据驱动框架的意义:- 代码复用率高.同一测试逻辑编写一次,可以被多条测试数据复用,提高了测试代码的复用率,同时可以提高测试脚本的编写效率.- 异常排查效率高.测试框架依据测试数据,每条数据生成一条测试用例,用例执行过程相互隔离,在其中一条失败的情况下,不

Python闭包举例

Python闭包的条件: 1.函数嵌套.在外部函数内,定义内部函数. 2.参数传递.外部函数的局部变量,作为内部函数参数. 3.返回函数.外部函数的返回值,为内部函数. 举例如下: def line_conf(a, b): def y_point(x): return a*x+b return y_point line1 = line_conf(1, 0) line2 = line_conf(2, 1) list1 = [line1(x) for x in range(10)] list2 =

Python数据驱动(ddt)

import unittest import ddt #第三方库 data=[[1,2],[3,4],[5,6]] @ddt.ddt class MyTestCase(unittest.TestCase): #只有一个参数时 @ddt.data(1,2,3) def test_01(self,a): print(a) @ddt.data(*data)#表示可参数,若传参是data,则后面的取值a=[[1,2],[3,4],[5,6]] @ddt.unpack def test_02(self,a

pycharm 添加python包 举例cv2

环境:ubuntu16.04 ,pycharm(默认使用pyhon3.5) 现象:利用pycharm跑程序,提示:no module named cv2,但是系统已安装python-opencv,在终端下没有报错.证明是pycharm没有导入相关模块. 解决:在pycharm项目中 File/Settins/Project:Similiar/Project Interpreter下,通过搜索添加所需要的模块. 右边绿色+号添加 打开搜索界面,然后是Install Package,前提是系统上已经

Python数据驱动工具——DDT

参考链接1:https://www.cnblogs.com/miniren/p/7099187.html 参考链接2:https://www.imooc.com/article/14861 安装ddt:cmd命令下输入:pip install ddt 原文地址:https://www.cnblogs.com/yhms/p/10316405.html

收集了一些python的文章

来自: 戴铭 2010-08-31 17:52:31 newthreading - safer concurrency for Python 安全并发(1回应) http://www.starming.com/index.php?action=plugin&v=wave&tpl=union&ac=viewgrouppost&gid=73&tid=7607 几个 Google App Engine 开源的Blog程序 http://www.starming.com/i

Python 第2周 - Python基础-模块\数据运算

内容 模块初识 数据运算 bytes数据类型 python数据类型 列表的使用 元组与购物车操作 购物车程序练习 字符串常用操作 字典的使用 三级菜单实例 本周作业-购物车优化 一.模块初识 Python 库分两种:标准库(不需要安装,直接导入就可以直接使用的库).第三方库(必须安装才能使用如django).注意:编写代码时,模块名字不要跟库名字相同.系统自带模块简单举例:  sys库: 1.打印系统环境变量 sys.path: 1 import sys 2 print ("sys.path&q