#!/usr/bin/env/python
# -*- coding: utf-8 -*-
# @Time : 2018/12/15 15:27
# @Author : ChenAdong
# @Email : aiswell@foxmail.com import unittest
import ddt lst = [1, 2, 3]
dic = {"userName": "chen"}
tur = (1, 2, 3)
s = {1, 2, 3} @ddt.ddt
class Test(unittest.TestCase): @ddt.data(*lst)
def test_list(self, data):
print("test_list")
print(data)
print("==================") @ddt.data(*dic)
def test_dictionary(self, data):
print("test_dic")
print(data)
print("==================") @ddt.file_data("ddt_test001.json")
def test_file(self, key):
print(key) @ddt.file_data("ddt_test.json")
@ddt.unpack
def test_file(self, start, end, value):
print(start, end, value) if __name__ == "__main__":
unittest.main() """
# 付上ddt-help

E:\myworkspace\python_workspace\tools\venv\Scripts\python.exe E:/myworkspace/python_workspace/projects/tmp/test002.py
Help on module ddt:

NAME
ddt

DESCRIPTION
# -*- coding: utf-8 -*-
# This file is a part of DDT (https://github.com/txels/ddt)
# Copyright 2012-2015 Carles Barrobés and DDT contributors
# For the exact contribution history, see the git revision log.
# DDT is licensed under the MIT License, included in
# https://github.com/txels/ddt/blob/master/LICENSE.md

FUNCTIONS
add_test(cls, test_name, test_docstring, func, *args, **kwargs)
Add a test case to this class.

The test will be based on an existing function but will give it a new
name.

data(*values)
Method decorator to add to your test methods.

Should be added to methods of instances of ``unittest.TestCase``.

ddt(cls)
Class decorator for subclasses of ``unittest.TestCase``.

Apply this decorator to the test case class, and then
decorate test methods with ``@data``.

For each method decorated with ``@data``, this will effectively create as
many methods as data items are passed as parameters to ``@data``.

The names of the test methods follow the pattern
``original_test_name_{ordinal}_{data}``. ``ordinal`` is the position of the
data argument, starting with 1.

For data we use a string representation of the data value converted into a
valid python identifier. If ``data.__name__`` exists, we use that instead.

For each method decorated with ``@file_data('test_data.json')``, the
decorator will try to load the test_data.json file located relative
to the python file containing the method that is decorated. It will,
for each ``test_name`` key create as many methods in the list of values
from the ``data`` key.

feed_data(func, new_name, test_data_docstring, *args, **kwargs)
This internal method decorator feeds the test data item to the test.

file_data(value)
Method decorator to add to your test methods.

Should be added to methods of instances of ``unittest.TestCase``.

``value`` should be a path relative to the directory of the file
containing the decorated ``unittest.TestCase``. The file
should contain JSON encoded data, that can either be a list or a
dict.

In case of a list, each value in the list will correspond to one
test case, and the value will be concatenated to the test method
name.

In case of a dict, keys will be used as suffixes to the name of the
test case, and values will be fed as test data.

idata(iterable)
Method decorator to add to your test methods.

Should be added to methods of instances of ``unittest.TestCase``.

is_trivial(value)

mk_test_name(name, value, index=0)
Generate a new name for a test case.

It will take the original test name and append an ordinal index and a
string representation of the value, and convert the result into a valid
python identifier by replacing extraneous characters with ``_``.

We avoid doing str(value) if dealing with non-trivial values.
The problem is possible different names with different runs, e.g.
different order of dictionary keys (see PYTHONHASHSEED) or dealing
with mock objects.
Trivial scalar values are passed as is.

A "trivial" value is a plain scalar, or a tuple or list consisting
only of trivial values.

process_file_data(cls, name, func, file_attr)
Process the parameter in the `file_data` decorator.

unpack(func)
Method decorator to add unpack feature.

DATA
DATA_ATTR = '%values'
FILE_ATTR = '%file_path'
UNPACK_ATTR = '%unpack'
index_len = 5
trivial_types = (<class 'NoneType'>, <class 'bool'>, <class 'int'>, <c...

VERSION
1.2.1

FILE
e:\myworkspace\python_workspace\tools\venv\lib\site-packages\ddt.py

None

Process finished with exit code 0

"""

python ddt的更多相关文章

  1. python DDT读取excel测试数据

    转自:http://www.cnblogs.com/nuonuozhou/p/8645129.html ddt   结合单元测试一起用 ddt(data.driven.test):数据驱动测试 由外部 ...

  2. python ddt数据驱动(简化重复代码)

    在接口自动化测试中,往往一个接口的用例需要考虑 正确的.错误的.异常的.边界值等诸多情况,然后你需要写很多个同样代码,参数不同的用例.如果测试接口很多,不但需要写大量的代码,测试数据和代码柔合在一起, ...

  3. python ddt 实现数据驱动一

    ddt 是第三方模块,需安装, pip install ddt DDT包含类的装饰器ddt和两个方法装饰器data(直接输入测试数据) 通常情况下,data中的数据按照一个参数传递给测试用例,如果da ...

  4. python+ddt+unittest+excel+request实现接口自动化

    接口自动化测试流程:需求分析-用例设计--脚本开发--测试执行--结果分析1.获取接口文档,根据文档获取请求方式,传输协议,请求参数,响应参数,判断测试是否通过设计用例2.脚本开发:使用request ...

  5. python ddt 实现数据驱动

    ddt 是第三方模块,需安装, pip install ddt DDT包含类的装饰器ddt和两个方法装饰器data(直接输入测试数据) 通常情况下,data中的数据按照一个参数传递给测试用例,如果da ...

  6. python ddt实现数据驱动

    首先安装ddt模块,命令:pip install ddt 通常情况下,data中的数据按照一个参数传递给测试用例,如果data中含有多个数据,以元组,列表,字典等数据,需要自行在脚本中对数据进行分解或 ...

  7. python ddt 传多个参数值示例

    import unittest from ddt import ddt,data,file_data,unpack @ddt class TestDDT(unittest.TestCase): lis ...

  8. python ddt模块

    ddt模块包含了一个类的装饰器ddt和两个方法的装饰器: data:包含多个你想要传给测试用例的参数: file_data:会从json或yaml中加载数据: 通常data中包含的每一个值都会作为一个 ...

  9. Python DDT(data driven tests)模块心得

    关于ddt模块的一些心得,主要是看官网的例子,加上一点自己的理解,官网地址:http://ddt.readthedocs.io/en/latest/example.html ddt(data driv ...

随机推荐

  1. vue 项目实战 (生命周期钩子)

    开篇先来一张图 下图是官方展示的生命周期图 Vue实例的生命周期钩子函数(8个)        1. beforeCreate             刚 new了一个组件,无法访问到数据和真实的do ...

  2. k8s网络之calico

    一.概述 前面我们部署calico由于集群规模不是很大,使用的是calico的bgp模式的node-to-node-mesh全节点互联,这种模式在小规模集群里面还可以用,3.4.0版本的calico支 ...

  3. jmeter 新手使用教程

    jmeter是一款很好的接口和压力测试工具,下载就不说了,去jmeter官网下载即可. 解压缩到本地,然后进入bin文件夹点击jmeter.bat 一.新建一个线程组 线程组内各项配置的含义 二.添加 ...

  4. json数据格式说明

    格式说明 json文件由对象(集合).数组.key/value元素组成,可以相互嵌套. 使用大括号包围的是对象,使用中括号包围的是数组,冒号分隔的是元素. 元素的key只能是字符串. 元素的value ...

  5. 机器学习笔记(5) KNN算法

    这篇其实应该作为机器学习的第一篇笔记的,但是在刚开始学习的时候,我还没有用博客记录笔记的打算.所以也就想到哪写到哪了. 你在网上搜索机器学习系列文章的话,大部分都是以KNN(k nearest nei ...

  6. javascript小实例,在页面中输出当前客户端时间

    时间对象(Date())比较简单,本文旨在为初学者入门使用,大牛可略过! 本文承接基础知识实例,说一下实例的要求: 在页面中输出当前客户端时间(2015年1月1日星期一10:10:10这样的格式),每 ...

  7. List<T>集合的Sort自定义排序用法简单解析

    List<T>集合的Sort自定义排序用法简单解析: 如下:一系列无序数字,如果想要他们倒序排列,则使用如下代码: 那么如何理解这段代码呢? (x,y)表示相邻的两个对象,如果满足条件:x ...

  8. WCF、WebAPI、WCFREST、WebService之间的区别【转载】

    在.net平台下,有大量的技术让你创建一个HTTP服务,像Web Service,WCF,现在又出了Web API.在.net平台下,你有很多的选择来构建一个HTTP Services.我分享一下我对 ...

  9. Java java jdbc thin远程连接并操作Oracle数据库

    JAVA jdbc thin远程连接并操作Oracle数据库 by:授客 QQ:1033553122 测试环境 数据库:linux 下Oracle_11g_R2 编码工具:Eclipse 编码平台:W ...

  10. Debug始于71年前

    摘要: 纪念Grace Hopper发现世界上第一个计算机BUG! 1947年9月9日,Grace Hopper的计算科学团队在哈佛的哈弗Mark II电脑运行程序时遇到一个技术故障.她在发生故障的M ...