• 初识unittest


    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

    实例代码:

     1 import unittest
     2 def addNum(a,b):
     3     return a+b
     4 def delNum(a,b):
     5     return a-b
     6 class TestFun(unittest.TestCase):
     7     def setUp(self):
     8         print 'do before ....'
     9     def tearDown(self):
    10         print 'do after....'
    11     def testAdd(self):
    12         print 'test add...'
    13         self.assertEqual(2,addNum(1,1))
    14     def testDel(self):
    15         print 'test del'
    16         self.assertEqual(0,delNum(1,1))
    17 if __name__=="__main__":
    18     unittest.main()
  • 相关阅读:
    Linux下MySQL数据库常用基本操作 一
    Cdnbes负载均衡的权重用法解释
    docker安装
    centos网卡配置和防火墙停止和启动
    Excel 如何锁定表头
    权值线段树 基础入门知识详解
    JZOJ 3362. 【NOI2013模拟】数数(DFS)
    JZOJ 3348. 【NOI2013模拟】秘密任务(最短路+最小割唯一性)
    JZOJ 3303. 【集训队互测2013】城市规划(卷积+分治NTT)
    FFT快速傅里叶变换(超详细的入门学习总结)
  • 原文地址:https://www.cnblogs.com/8013-cmf/p/6598423.html
Copyright © 2020-2023  润新知