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. JXNU暑期选拔赛

    最小的数 Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Submissi ...

  2. Hadoop学习笔记之三:DataNode

    DataNode对ClientDatanodeProtocol.InterDatanodeProtocol两个协议接口进行了实现,通过ipc::Server向Client.其它DN提供RPC服务(参见 ...

  3. js 迭代方法

    迭代方法 * every():对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true. * filter():对数组中的每一项运行给定函数,返回该函数会返回true 的项组成的 ...

  4. Struts2 概述

    1. struts2应用在javaee三层结构中web层框架 2. struts2框架在struts1和webwork基础之上的发展全新的框架 3.struts2 解决的问题: 用户管理的crud操作 ...

  5. PHP使用http_build_query()构造URL字符串的方法(可将POST参数组转换拼接成GET请求链接)

    <?php //parse_str与http_build_query的使用 //使用parse_str将url字符串转变为key=>value的数组 $str = "tn=mon ...

  6. Strom学习笔记2:Storm Maven Project-StromStack工程

    1:IntelliJ新建Maven工程

  7. python2.7安装mysql-python

    环境:python2.7.14+mysql-python-1.2.3.win-amd64-py2.7.exe 安装版本许参照解释器版本,有64和32位之分,如果安装错误版本,则运行时会报错:Impor ...

  8. fjwc2019 D1T2 原样输出(后缀自动机+dp)

    #179. 「2019冬令营提高组」原样输出 暴力对每个串建后缀自动机,然后暴力枚举每个自动机的子串.可以拿到部分分. 然鹅我们可以把每个后缀自动机连起来. 我们知道,后缀自动机是用最少的点(空间)表 ...

  9. Linux限制普通用户只能使用某命令

    修改sudoers(/etc/sudoers)

  10. 20145308 《网络对抗》 MAL_免杀原理及实践 学习总结

    20145308 <网络对抗> MAL_免杀原理及实践 学习总结 实践内容 (1)理解免杀技术原理 (2)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免 ...