unittest是python自带的一个标准木块,单元测试框架

unittest基本使用方法:

  1. 我们需要先导入unittest (import unittest)

    import unittest
  2. 定义一个继承unittest.TestCase的测试用例类
    class TestFun(unittest.TestCase):
  3. 定义setUp和tearDown
        def setUp(self):
    print 'do before ....'
    def tearDown(self):
    print 'do after....'
  4. 定义测试用例,以test开头。如testAdd
        def testAdd(self):
    print 'test add...'
    self.assertEqual(2,addNum(1,1))
  5. 一个测试用例只写一个功能,目标和测试内容需明确。
  6. 单元测试的加载方式有2种:一种是通过unittest.main()来启动单元测试的测试模块;一种是添加到testsuite集合中再加载所有的被测试对象,而testsuit里存放的就是单元测试的用例
    if __name__=="__main__":
    suite=unittest.TestLoader.loadTestsFromTestCase(TestFun)
    unittest.TextTestRunner(verbosity=2).run(suite)
    if __name__=="__main__":
    unittest.main()

unittest模块的常用方法:

  • assertEqual(a, b)     a == b
  • assertNotEqual(a, b)     a != b
  • assertTrue(x)     bool(x) is True
  • assertFalse(x)     bool(x) is False
  • assertIs(a, b)     a is b     2.7
  • assertIsNot(a, b)     a is not b     2.7
  • assertIsNone(x)     x is None     2.7
  • assertIsNotNone(x)     x is not None     2.7
  • assertIn(a, b)     a in b     2.7
  • assertNotIn(a, b)     a not in b     2.7
  • assertIsInstance(a, b)     isinstance(a, b)     2.7
  • assertNotIsInstance(a, b)     not isinstance(a, b)     2.7

实例代码:

 import unittest
def addNum(a,b):
return a+b
def delNum(a,b):
return a-b
class TestFun(unittest.TestCase):
def setUp(self):
print 'do before ....'
def tearDown(self):
print 'do after....'
def testAdd(self):
print 'test add...'
self.assertEqual(2,addNum(1,1))
def testDel(self):
print 'test del'
self.assertEqual(0,delNum(1,1))
if __name__=="__main__":
unittest.main()

初识unittest的更多相关文章

  1. Selenium(十六):unittest单元测试框架(二) 初识unittest(续)

    1. 认识unittest(续) 关于unittest单元测试框架,还有一些问题值得进一步探讨.你可能在前一章的学习过程中产生了一些疑问,也许你会在本节中找到答案. 1.1 用例执行的顺序 用例的执行 ...

  2. Selenium(十五):unittest单元测试框架(一) 初识unittest

    1. 认识unittest 什么是单元测试?单元测试负责对最小的软件设计单元(模块)进行验证,它使用软件设计文档中对模块的描述作为指南,对重要的程序分支进行测试以发现模块中的错误.在python语言下 ...

  3. 【python接口自动化】初识unittest框架

    本文将介绍单元测试的基础版及使用unittest框架的单元测试. 完成以下需求的代码编写,并实现单元测试 账号正确,密码正确,返回{"msg":"账号密码正确,登录成功& ...

  4. 初识Android App自动化测试框架--Unittest

    1.为什么需要使用框架实现自动化测试 作为测试工程师,可能在代码能力上相比开发工程师要弱一点,所以我们在写脚本的时候就会相对容易的碰到更多的问题,如果有一个成熟的框架供给我们使用的话,可以帮助我们避免 ...

  5. unittest详解(一) unittest初识

    unittest是python内置的一个单元测试框架,在学习怎么使用它之前,我们先来了解它的一些概念和原理. Test Case:测试用例,一个TestCase的实例就是一个测试用例.什么是测试用例呢 ...

  6. python_单元测试unittest

    Python自带一个单元测试框架是unittest模块,用它来做单元测试,它里面封装好了一些校验返回的结果方法和一些用例执行前的初始化操作. 步骤1:首先引入unittest模块--import un ...

  7. Android动画效果之初识Property Animation(属性动画)

    前言: 前面两篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画).Frame Animation(逐帧动画)Andr ...

  8. 初识Hadoop

    第一部分:              初识Hadoop 一.             谁说大象不能跳舞 业务数据越来越多,用关系型数据库来存储和处理数据越来越感觉吃力,一个查询或者一个导出,要执行很长 ...

  9. python学习笔记(基础四:模块初识、pyc和PyCodeObject是什么)

    一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sy ...

随机推荐

  1. .NET 常用ORM之Gentle.Net

    .Net常用的就是微软的EF框架和Nhibernate,这两个框架用的都比较多就不做详细介绍了,今天我们来看看Gentle.Net,Gentle.Net是一个开源的优秀O/R Mapping的对象持久 ...

  2. BATJ等大厂最全经典面试题分享

    金九银十,又到了面试求职高峰期,最近有很多网友都在求大厂面试题.正好我之前电脑里面有这方面的整理,于是就发上来分享给大家. 这些题目是网友去百度.蚂蚁金服.小米.乐视.美团.58.猎豹.360.新浪. ...

  3. USB概述

    源: USB

  4. Spring框架之使用JdbcTemplate开发Dao层程序

    简介: JdbcTemplate开发dao层程序     由Spring框架给我们提供,Spring提供的很多操作数据源(关系型数据库,二维表格模型,有明确的行和列(mysql/orcal等) 非关系 ...

  5. css文本样式text、字体样式font

    文本样式text 1.文本颜色color 例如h1 {color:red;} 2.文本方向direction,不常用 默认ltr从左到右,rtl表示从右到左 3.文本水平对齐方式text-align ...

  6. oracle RAC如何正确地删除ASM磁盘组

    1.登录到命令行 切换到grid用户 [grid@swnode1 ~]$ sqlplus / as sysasm SQL*Plus: Release Production on Wed May :: ...

  7. Java 判断字符串是否为空的四种方法、优缺点与注意事项

    以下是Java 判断字符串是否为空的四种方法: 方法一: 最多人使用的一个方法, 直观, 方便, 但效率很低: if(s == null ||"".equals(s));方法二: ...

  8. 单片机中printf函数的重映射

    单片机中printf函数的重映射 一.源自于:大侠有话说 1.如果你在学习单片机之前学过C语言,那么一定知道printf这个函数.它最最好用的功能 除了打印你想要的字符到屏幕上外,还能把数字进行格式化 ...

  9. 集合框架-Collection与List集合

    对象数组的内存图解: 集合的继承体系图解: * 数组和集合的区别? * A:长度区别 * 数组的长度固定 * 集合长度可变 * B:内容不同 * 数组存储的是同一种类型的元素 * 而集合可以存储不同类 ...

  10. libcurl 静态库编译

    转载:http://www.cnblogs.com/jkcx/p/6406706.html 1.下载最新版的libcurl(官网:http://curl.haxx.se/download.html), ...