一、安装

①执行语句: pip install ddt

②在单元测试中DDT用来进行数据驱动,数据与测试代码分离(数据发生变化时,用例可以保持不变),一组数据来执行相同的操作。

一般进行接口测试时,每个接口的传参都不止一种情况,一般会考虑正向、逆向等多种组合,所以在测试一个接口时,通常会编写多条case,而这些除了传参不同外,并没有什么区别。这个时候就可以利用ddt来管理测试数据,提高代码复用率。

二、ddt模块包含类的装饰器ddt和两个方法装饰器data

  • ddt.ddt:装饰类,也就是继承TestCase的类。

  • ddt.data:装饰测试方法,参数是一系列的值,数据直接使用逗号隔开。

  • ddt.file_data:装饰测试方法,参数是文件名。文件可以是json或者yaml类型。

    注意,如果文件是以“.yml”或者".yaml"结尾,ddt会作为yaml类型处理,其他文件都会作为json文件处理。

    如果文件是列表,列表的值会作为测试用例参数,同时,会作为测试用例方法名后缀显示。

    如果文件是字典,字典的key会作为测试用例方法的后缀显示,字典的value会作为测试用例参数。

  • ddt.unpack:传递的是复杂的数据结构时使用,比如使用列表或者元组,添加unpack后,ddt会自动把元组或者列表对应到多个参数上。

例子

方法模块

用例模块

数据处理模块

配置模块

运行模块

运行结果:

测试报告:

三、日志

1.日志:记录系统的操作及代码的运行。

2.日志五个级别:debug--info--warning--error--critical 从左到右越来越严重

3.日志收集器

规则:只有级别大于或等于日志收集器指定级别的日志记录才会被输出,小于该级别的日志记录将会被丢弃。

例子

运行结果:

4.自定义日志

运行结果:

控制台

文件

拓展:

Formatter对象定义了最终log信息的顺序,结构和内容,规定了日志输出按照什么样的格式,默认的时间格式为%Y-%m-%d %H:%M:%S

%(name)s

logger的名字

%(levelno)s

数字形式的日志级别

%(levelname)s

文本形式的日志级别

%(pathname)s

调用日志输出函数的模块的完整路径名,可能没有

%(filename)s

调用日志输出函数的模块的文件名

%(module)s

调用日志输出函数的模块名

%(funcName)s

调用日志输出函数的函数名

%(lineno)d

调用日志输出函数的语句所在的代码行

%(created)f

当前时间,用UNIX标准的表示时间的浮点数表示

%(relativeCreated)d

输出日志信息时的,自Logger创建以来的毫秒数

%(asctime)s

字符串形式的当前时间。默认格式是“2003-0-08 16:49:45,896”。逗号后面是毫秒数

%(thread)d

线程ID,可能没有

%(threadName)s

线程名,可能没有。

%(process)d

进程ID,肯能没有

%(message)s

用户输出的消息

python ddt及logging(九)的更多相关文章

  1. Python标准模块--logging

    1 logging模块简介 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级.日志保存路径.日志文件回滚等:相比print,具备如下优点: 可以通过设置不同 ...

  2. Python日志输出——logging模块

    Python日志输出——logging模块 标签: loggingpythonimportmodulelog4j 2012-03-06 00:18 31605人阅读 评论(8) 收藏 举报 分类: P ...

  3. python日志模块logging

    python日志模块logging   1. 基础用法 python提供了一个标准的日志接口,就是logging模块.日志级别有DEBUG.INFO.WARNING.ERROR.CRITICAL五种( ...

  4. Python学习笔记(九)

    Python学习笔记(九): 装饰器(函数) 内置函数 1. 装饰器 1. 作用域 2. 高阶函数 3. 闭包 如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就 ...

  5. Python自建logging模块

    本章将介绍Python内建模块:日志模块,更多内容请从参考:Python学习指南 简单使用 最开始,我们用最短的代码体验一下logging的基本功能. import logging logger = ...

  6. python中常用的九种数据预处理方法分享

    Spyder   Ctrl + 4/5: 块注释/块反注释 本文总结的是我们大家在python中常见的数据预处理方法,以下通过sklearn的preprocessing模块来介绍; 1. 标准化(St ...

  7. Python实战之logging模块使用详解

    用Python写代码的时候,在想看的地方写个print xx 就能在控制台上显示打印信息,这样子就能知道它是什么了,但是当我需要看大量的地方或者在一个文件中查看的时候,这时候print就不大方便了,所 ...

  8. Python学习系列(九)(IO与异常处理)

    Python学习系列(九)(IO与异常处理) Python学习系列(八)( 面向对象基础) 一,存储器 1,Python提供一个标准的模块,称为pickle,使用它既可以在一个文件中存储任何Pytho ...

  9. python日志模块logging学习

    介绍 Python本身带有logging模块,其默认支持直接输出到控制台(屏幕),或者通过配置输出到文件中.同时支持TCP.HTTP.GET/POST.SMTP.Socket等协议,将日志信息发送到网 ...

随机推荐

  1. vlc 控件属性和方法

    VLC调研 VLC控件支持的参数和方法 VLC对象列表 Vlc Plugin Object的方法 l        VersionInfo:成员, 返回版本信息的字符串 l        vlc.ve ...

  2. 《Visual Studio程序员箴言》笔记

    还记得刚工作时看到某前辈用快捷键操作Visual Studio,赞叹不已,才发觉原来快捷键熟练了效率可以如此之高.后来,我在为一个经常使用的命令添加快捷键的时候又发现Visual Studio的快捷键 ...

  3. 【MM系列】SAP技巧之更改布局

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP技巧之更改布局   前言部分 ...

  4. 3 Java Web 入门 1 Servlet 入门

    1 Tomcat 1.1 安装 JDK Oracle 官网 1.2 安装 Tomcat

  5. Samba的认识

    Samba服务 samba是一个网络服务器,用于Linux和Windows之间共享文件. samba端口号 samba (启动时会预设多个端口) 数据传输的TCP端口 139.445 进行NetBIO ...

  6. Oracle 编写自定义函数

    CREATE OR REPLACE function testAdd(js1 in number, js2 in number) return number is v_hj number; v_h ; ...

  7. Xshell的使用以及常用命令

    工具/原料 Xshell 方法/步骤 打开软件,点击新建,在主机哪里写入要访问的ip地址,名称随意 点击文件之后,再点击打开: 就可以看到刚才新建的会话了: 点击连接,就会显示下面的画面,输入用户名, ...

  8. PHP 调用shell命令

    可以使用的命令: popenfpassthrushell_execexecsystem 1.popen resource popen ( string command, string mode ) 打 ...

  9. VBNET 文件信息和目录管理(判断,创建,删除,移动,复制)

    1.判断文件/目录是否存在 Try ' 先判断文件是否存在. If Not File.Exists(TextBox4.Text) Then File.CreateText(TextBox4.Text) ...

  10. [转帖]互联网同步yum服务器阿里云 reposync createrepo

    https://www.cnblogs.com/withfeel/p/10635529.html 这篇文章 比较齐整 参考文章: https://www.cnblogs.com/lldsn/p/104 ...