zoukankan      html  css  js  c++  java
  • 测开之路五十六:实现类似unittest的断言

    import inspect


    class Case(object):
    """ 实现断言 """

    def __init__(self):
    self.result = {} # 存断言的结果

    def _assert(self, expression, message):
    """ 真正执行断言的函数 """
    """
    [2][1]二维数组,以a调b时b调c为例
    第一个下标
    如果是0,则代表当前函数(c),
    如果是1,代表谁调的函数(b)
    如果是2,代表谁调的函数(a)
    ···
    第二个下标
    如果是1,代表当前文件
    如果是2,代表文件执行到多少行了
    如果是3,代表当前执行的函数名
    如果是4,代表当前执行的这块代码
    ···
    """
    file = inspect.stack()[2][1]
    line = inspect.stack()[2][2]
    func = inspect.stack()[2][3]
    code = inspect.stack()[2][4]
    self.result.setdefault(func, {
    'file': file,
    'line': line,
    'func': func,
    'code': code,
    'result': {
    'status': expression,
    'message': message
    }
    })
    if not expression:
    print(message) # 断言失败打印失败信息
    # raise AssertionError(message) # 断言失败抛异常

    def assertEqual(self, first, second, message=''):
    self._assert(first == second, message)

    def assertNotEqual(self, first, second, message=''):
    self._assert(first != second, message)

    def assertIn(self, first, second, message=''):
    self._assert(first in second, message)

    def assertNotIn(self, first, second, message=''):
    self._assert(first not in second, message)

    def assertIs(self, first, second, message=''):
    self._assert(first is second, message)

    def assertNotIs(self, first, second, message=''):
    self._assert(first is not second, message)

    def assertNone(self, first, message=''):
    self._assert(first is None, message)

    def assertNotNone(self, first, message=''):
    self._assert(first is not None, message)

    def assertTrue(self, first, message=''):
    self._assert(bool(first) == True, message)

    def assertFalse(self, first, message=''):
    self._assert(bool(first) == False, message)
  • 相关阅读:
    十三、mysql 分区之 RANGE && LIST
    十二、mysql sql_mode 简学
    十一、mysql输入安全
    十、mysql事务的简介
    九、mysql触发器的概念
    左链接、右链接
    PHP 对数组数值进行排序,使用另一个容器
    JQUERY基础2 效果 遍历 内置遍历函数
    JQUERY基础
    orcal 单行函数组函数
  • 原文地址:https://www.cnblogs.com/zhongyehai/p/11087289.html
Copyright © 2011-2022 走看看