HiveNetCore.utils.test_tool module

测试相关工具

class HiveNetCore.utils.test_tool.TestTool[源代码]

基类:object

测试相关工具, 提供各类检查比较函数

classmethod cmp_dict(src_data, dst_data, list_sorted: bool = False, print_if_diff=True, ignore_number_type: bool = False)[源代码]

比较两个字典是否一致

参数
  • src_data (string/dict) – 第1个字典对象( 或对象JSON字符串)

  • dst_data (string/dict) – 第2个字典对象( 或对象JSON字符串)

  • list_sorted (bool) – default=False, 值为列表时先排序再比较

  • print_if_diff (bool) – default=True, 当两个字典不一致时是否打印对象信息

  • ignore_number_type (bool) – default=Fasle, 如果是数字, 是否忽略数据类型

返回

True-两个字典一致, False-两个字典不一致

返回类型

bool

classmethod cmp_list(src_data, dst_data, sorted: bool = False, print_if_diff=True)[源代码]

比较两个列表( list) 是否一致

参数
  • src_data (list) – 第1个list对象

  • dst_data (list) – 第2个list对象

  • sorted (bool) – default=Fasle, 是否比较前先排序

  • print_if_diff (bool) – default=True, 当两个list不一致时是否打印对象信息

返回

True-两个list一致, False-两个list不一致

返回类型

bool

classmethod compare_binary_file(src_file: str, dst_file: str, block_size: int = 1, cache_size: int = 1024)[源代码]

比较两个二进制文件

参数
  • src_file (str) – 要比较的源文件路径

  • dst_file (str) – 要比较的目标文件路径

  • block_size (int) –

    default=1, 要比较的块单位, 单位为byte

    注: 指定块大小大于1的情况, 将按块做比较, 有差异也是认为块存在差异

  • cache_size (int) –

    default=1024, 文件信息获取缓存大小, 单位为kb

    注: 实际将占用2个缓存区的内存控件

返回

比较出存在差异的地方, 形成差异数组, 格式如下:

[

[‘^/-/+’, start_pos, end_pos, size, block_count],

]

注: ^代表两个文件存在差异的位置, -代表第一个文件长于第二个文件的大小, +代表第二个文件长于第一个文件的大小

end_pos为结束位置, 也就是相同的下一个字节的开始位置

返回类型

list

classmethod is_contain_dict(src_data, dst_data)[源代码]

检查字典1是否包含在字典2中(字典1为字典2的子集)

参数
  • src_data (string/dict) – 第1个字典对象( 或对象JSON字符串)

  • dst_data (string/dict) – 第2个字典对象( 或对象JSON字符串)

返回

True-字典1包含在字典2中, False-字典1未包含在字典2中

返回类型

bool