Skip to main content

pip install jsoncontrast

Used to contrast two json,especially for testers.

jsoncontrast.check(src_data, dst_data,model='contains',string_model='strict',num_model='equal',num_limit=None,explicit=True,basedir=None)

主要用来对比json串的期望值和返回值,用于接口测试,方法包括以下8个入参:

  • 2个必选参数:
    • src_data-----用来做对比的一个json串,一般地,例如:接口实际返回的json
    • dst_data-----用来做对比的另一个json串,一般地,例如:校验接口的期望返回json
  • 6个可选参数:
    • model='contains'-----可选范围['contains','strict']
      • contains: src_data单向包含dst_data
      • strict: src_data与dst_data相互包含(不计顺序内容一致)
    • string_model='strict'-----可选范围['contains','strict','start','end','exist']
      • contains: dst_data中的字符串项包含于src_data中对应的字符串
      • strict: dst_data中的字符串等于src_data中对应的字符串
      • start: src_data中的字符串以dst_data中对应的字符串开头
      • end: src_data中的字符串以dst_data中对应的字符串结尾
      • exist: 只想判断dst_data中某项存在,不需要比较具体值,对应值的位置写成''
      • re_expr:dst_data中的字符串以正则表示(见示例)
    • num_model='equal'-----可选范围['equal','nequal','big','small']
      • equal: dst_data中的数字项等于src_data中对应的数字项
      • nequal: dst_data中的数字项不等于src_data中对应的数字项
      • big: dst_data中的数字项大于src_data中对应的数字项
      • small: dst_data中的数字项小于src_data中对应的数字项
    • num_limit=None-----可选范围:无或任意整数或浮点数
      • 仅在num_model等于big或small时起效,用于额外的设定dst_data中的数字项的上限或下限
    • explicit=True-----可选范围:True或False
      • 用于设定是否需要生成json对比文件
    • basedir=None-----可选:用于设定结果存放目录,默认存放于项目文件夹
      • 仅在explicit=True时起效

举例:

  • eg1.
    src={"k1" :{"k11":[{"listk111": "北京"},{"listk112": "上海"}],"k12":{"listk121": 7}},"k2":{"listk21": "广州"} }
    dst={"k1":{"k12":{"listk121": 5}}}
    jsoncontrast.check(src,dst,num_model='small',num_limit=4)

  • eg2.
    src=[{"see":["java","python","golang"],"say":"life is short,i use python"}]
    dst=[{"see":["java","golang","python"],"say":"re.findall('(python)$','{{src}}')"}]
    jsoncontrast.check(src, dst,string_model='re_expr')

  • eg3.
    src={"k1" :{"k11":[{"listk111": "北京"},{"listk112": "上海"}],"k12":{"listk121": 7}},"k2":{"listk21": "广州"} }
    dst={"k1":{"k12":{"listk121": 7},"k11":[{"listk111": "re.search('北.*','{{src}}')"},{"listk112": "上海"}]}}
    jsoncontrast.check(src, dst,string_model='re_expr')

It offers a method jsontcontrast.check,you can use it according to what above descripted in Chinese,or just guess and try,it is so easy!

Release files for jsoncontrast 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jsoncontrast 1.0.0
File Size Uploaded
jsoncontrast-1.0.0.tar.gz 4.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jsoncontrast 1.0.0
File Interpreter ABI Platform
jsoncontrast-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 9.8 kB

Release files / jsoncontrast-1.0.0.tar.gz

Download URL jsoncontrast-1.0.0.tar.gz
Size 4.0 kB
Tags Source
SHA-256 checksum
How to use checksums
d0d0f88e855520e969c559b769b18210a6c4dcdce333e45956a0d78e46aa8cbc
BLAKE2b-256 checksum
How to use checksums
dbfd786859ffef881a0b0eb78d9935b75a5df6237513a984961458abf96ac9c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.0

Release files / jsoncontrast-1.0.0-py3-none-any.whl

Download URL jsoncontrast-1.0.0-py3-none-any.whl
Size 5.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b737fee5ee09030a7394a4a4911cbae62b987b5b363d890435cab527cc84b624
BLAKE2b-256 checksum
How to use checksums
476b5c678fb0c9f435f8b8f526f11d86f309f789d0f1b1aaada26cc3e08052ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.0

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page