zoukankan      html  css  js  c++  java
  • Python 测试框架基础


    1. 导入测试对象
    2. 导入单元测试框架:unittest
    3. 创建继承自unittest.TestCase类的测试类,类中必须包含三个方法:初始化、测试、结束
      初始化、结束的方法名必须是setUp、tearDown,TestCase类中包含的。
      测试方法中,细节测试步骤,可使用asserEqual对比实际结果和期望结果,同时可在其中定义失败时,提示内容,如asserEqual(c1,5,'与期望结果不符')



     1 #coding=utf-8
     2 from count import Count
     3 #单元测试框架unittest
     4 import unittest
     5 class TestAdd(unittest.TestCase):#继承unittest中的TestCase类
     6     #1>测试准备工作,初始化
     7     def setUp(self):
     8         print "test start"
     9     #2>正式测试
    10     def testAdd(self):
    11         c1=Count(2,3)
    12         #断言函数
    13         self.assertEqual(c1.add(),5)
    14         # 可以在参数后添加错误描述,asserEqual(c1,6,'结果同预期不符')
    15     #3>结束工作
    16     def tearDown(self):
    17         print "test end"
    断言语法            解释
    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
    assertIsNot(a, b)    a is not b
    assertIsNone(x)   x is None
    assertIsNotNone(x)   x is not None
    assertIn(a, b)    a in b
    assertNotIn(a, b)    a not in b
    assertIsInstance(a, b) isinstance(a, b)
    assertNotIsInstance(a, b) not isinstance(a, b)


    实际测试中,常常有多条测试case,通常采用测试集来执行。
    测试类的定义与上方大致相同,
    然后需要定义测试集,继承自unittest.TestSutie,
    然后向测试集中添加测试类中定义的测试case
    测试集的执行需要虚拟执行者,定义如runner=unittest.TextTestRunner()
    最后让执行者执行测试集就好:runner.run(suite)
     1 #coding=utf-8
     2 import sys
     3 sys.path.append('.\practice')
     4 from count import Count
     5 import unittest
     6 class testCount(unittest.TestCase):
     7     def setUp(self):
     8         print 'test start'
     9     def testadd(self):
    10         c1 = Count(2,3).add()
    11         self.assertEqual(c1,5)
    12     def testsub(self):
    13         c2 = Count(3,3).sub()
    14         self.assertEqual(c2,1)
    15     def tearDown(self):
    16         print 'test complete'
    17 suite = unittest.TestSuite()
    18 suite.addTest(testCount('testadd'))
    19 suite.addTest(testCount('testsub'))
    20 runner = unittest.TextTestRunner()
    21 runner.run(suite)



  • 相关阅读:
    flume-agent实例
    Apache Ant在Windows下配置环境变量
    作业流程和优化
    使用MapReduce查询Hbase表指定列簇的全部数据输出到HDFS(一)
    使用MapReduce将HDFS数据导入到HBase(二)
    数据结构(一)线性表——顺序表
    Java类集综合练习——信息管理(增、删、改、查)
    MySQL数据库表的数据插入、修改、删除、查询操作及实例应用
    总结一下这几节Java课的...重点!!!
    文件I/O操作——File类
  • 原文地址:https://www.cnblogs.com/good-time/p/7730062.html
Copyright © 2011-2022 走看看