zoukankan      html  css  js  c++  java
  • python的单元测试unittest模块

    首先需要导入unittest模块

    import unittest

    import  HTMLTestRunner

    # TestCase 也就是测试用例
    #
    # TestSuite 多个测试用例集合在一起,就是TestSuite
    #
    # TestLoader是用来加载TestCase到TestSuite中的
    #
    # TestRunner是来执行测试用例的,测试的结果会保存到TestResult实例中,包括运行了多少测试用例,成功了多少,失败了多少等信息
    # unittest模块是执行以test开头的用例,如果不以test开头则不会运行,且以字母a-z,1-9来运行用例的先后顺序,不会因为用例写的先后顺序来运行


    def add(a,b):
      return a/b
    #这是要执行的函数或者说是要测试的方法
    Class Testadd(unittest.TestCase):
      @classmethod#装饰器,在所有用例的前后执行它,用来连接数据库和关闭数据库
      def setUpClass(cls):
      print('我是setupClass')

      @classmethod#装饰器,在所有用例的前后执行它,用来连接数据库和关闭数据库
      def tearDownClass(cls):
      print('我是tearDownClass')
      def setUp(self):#每条用例执行之前都会执行它
       print('我是setup')

      def tearDown(self):#每条用例执行之后都会执行它
       print('我是teardown')

      def test_calc1(self):
       '''测试正常的'''
      # result = calc(2,1)
      # self.assertEqual(2,result,'除法运算不正确')#检查实际结果和期望结果是否一致
      print('calc1')
      def test_acle(self):
       print("我是第一个运行的,因为我是a")
      def aaa(self):
         print("不会运行的用例")
    #unittest.main() #运行当前文件里面的所有测试用例

    test_suite = unittest.TestSuite()
    test_suite.addTest()

    f = open('report.html','wb')
    runner = HTMLTestRunner.HTMLTestRunner(stream=f,
    description='测试报告里面的描述',
    title='接口测试报告')
    test_suite = unittest.makeSuite(Testadd) #把这个类变成一个测试集合
    runner.run(test_suite)#运行用例


      
      
  • 相关阅读:
    X11学习
    Linux 实用命令
    Notepad++ 添加右键菜单
    VS Code编译C/C++
    map与unordered_map的区别
    Rtt / vxworks 任务状态装换对比
    awesome computer vision repo
    英语每日金句
    不要在意七十亿分之一对另七十亿分之一的看法
    致知在格物,物格而后知至,知至而后意诚,意诚而后心正,心正而后身修,身修而后家齐,家齐而后
  • 原文地址:https://www.cnblogs.com/yulinlincoding/p/10771442.html
Copyright © 2011-2022 走看看