今天使用Python的unittest模块写了些单元测试,现记录下要点:

使用unittest的基本格式如下:

import unittest

class Test(unittest.TestCase):
def setUp(self):
pass def test_a(self):
pass def test_b(self):
pass def tearDown(self):
pass if __name__ == '__main__':
unittest.main()

基本上网上已经已经说的很详细了,在使用过程中发现以下几点比较重要:

1.unittest执行顺序,对于每一个test,都要先执行setUp,再执行tearDown,并不是setUp执行完一次就了事了,对以上格式,setUp和tearDown应该执行两次,而不是一次

2.每一个test是按照函数名的字母顺序来执行的,换言之,对以上格式而言,即使将test_a,test_b交换位置,仍然是先执行test_a,再执行test_b

3.assert方法异常丰富,除了最基本的assertEqual,assertFalse,还有assertIs,assertIsNotNone等

4.1 在unittest中要查看更详细的信息,可以print,但是较不方便,可配置使用logging:

import logging

logging.basicConfig(filename='/Users/wenli.xu/Desktop/log1.log', level=logging.INFO)

其中,filename指示了日志路径,level指示了只有严重程度大于等于INFO才会被日志记录(logging的默认level是WARNING)。

严重程度从轻到重依次为:DEBUG,INFO,WARNING,ERROR,CRITICAL

此后使用以下方法,可将关键信息输出到相应的文件中:

logging.info('important info: %s', info)

若使用logging.debug('XXX'),消息不会被记录在日志里。

4.2 使用logging.getLogger('log_name')可以得到root logger(logging)的实例,可在logger里进行各种个性化的设置

Python中的unittest和logging的更多相关文章

  1. [ Python入门教程 ] Python中日志记录模块logging使用实例

    python中的logging模块用于记录日志.用户可以根据程序实现需要自定义日志输出位置.日志级别以及日志格式. 将日志内容输出到屏幕 一个最简单的logging模块使用样例,直接打印显示日志内容到 ...

  2. Python中的日志管理Logging模块

    1.基本的用法 import logging logging.debug('This is debug message') logging.info('This is info message') l ...

  3. python中的unittest库

    1.unittest框架是python自动化测试的入门框架,它是python自带的一个模块 包含以下几个子模块 测试用例:TestCase 测试集:TestSuite 加载用例:TestLoader ...

  4. python中的日志模块logging

    1.日志级别5个: 警告Warning 一般信息Info  调试 Debug  错误Error 致命Critical 2.禁用日志方法 logging.disable(logging.DEBUG) 3 ...

  5. python中的Unittest常用方法

    import unittest class SimpleUnitTest(unittest.TestCase): def test_Fail(self): self.failUnless(True) ...

  6. Python中的单元测试模块Unittest快速入门

    前言 为什么需要单元测试? 如果没有单元测试,我们会遇到这种情况:已有的健康运行的代码在经过改动之后,我们无法得知改动之后是否引入了Bug.如果有单元测试的话,只要单元测试全部通过,我们就可以保证没有 ...

  7. Python中的logging模块

    http://python.jobbole.com/86887/ 最近修改了项目里的logging相关功能,用到了python标准库里的logging模块,在此做一些记录.主要是从官方文档和stack ...

  8. python中的第三方日志模块logging

    基本上每个系统都有自己的日志系统,可以使自己写的,也可以是第三方的.下面来简单介绍一下python中第三方的日志模块,入手还是比较简单的,但是也很容易给自己埋雷. 下面是我参考的资料链接 入手demo ...

  9. python 中logging模块

    logging的作用:python中,logging模块主要是处理日志的.所谓日志,可理解为在软件运行过程中,所记录的的一些运行情况信息,软件开发人员可以根据自己的需求添加日志,日志可以帮助软件开发人 ...

随机推荐

  1. 错误卸载软件导致Windows7系统中的软件无法播放视频

    1.错误描述 2.错误原因 在卸载软件时,不小心将Windows7中的服务给删除了 3.解决办法 重新安装操作系统

  2. ASP.net里不让浏览器缓存代码和Session使用注意事项

    //不让浏览器缓存             context.Response.Buffer = true;             context.Response.ExpiresAbsolute = ...

  3. Openstack_O版(otaka)部署_准备环境和依赖软件

    架构介绍 本次案列为基本的三节点部署 一:网络: 1.管理网络:192.168.198.0/24 2.数据网络:10.0.0.0/24 二:操作系统: CentOS Linux release 7.3 ...

  4. js弹窗登录效果(源码)--web前端

    1.JS弹窗登录效果 <!DOCTYPE html><html lang="en"><head> <meta charset=" ...

  5. java第一个程序——Hello World

    Hello World 如果没有下载jdk以及配置环境变量的萌新请自行百度,教程非常的详细(参考:https://jingyan.baidu.com/article/6dad5075d1dc40a12 ...

  6. RobotFramework下的http接口自动化Set Request Header 关键字的使用

    Set Request Header 关键字用来设置http请求时的请求头部信息. 该关键字接收两个参数,[ header_name | header_value ] 示例1:设置http请求时的Re ...

  7. Keras常见问题及解答

    Keras官方中文版文档 如何引用 Keras? 如何在 GPU 上运行 Keras? 如何在多 GPU 上运行 Keras 模型? "sample", "batch&q ...

  8. JavaScript 再谈闭包

    之前有整理过一版关于闭包的概念,但感觉思路不是很清晰,是临时想起一些例子来讲的,今天再次来讲一下闭包. 闭包: 函数嵌套函数,内部函数可以引用外部函数的参数和变量 function aaa(a){ v ...

  9. asp.net mvc 5 关闭xss过滤

    在控制器方法的头部添加        [ValidateInput(false)] 如果向mvc服务端提交带html标签的内容就会导致校验失败异常,从而得不到想要的结果,关闭的方法是在相应方法头部添加 ...

  10. 用Canvas生成随机验证码(后端前端都可以)

    一 .使用前端生成验证码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...