You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

43 lines
1.8 KiB

# -*- coding: utf-8 -*-
"""票 06 聚合输入扫描:三套件非✅明细 + defects + 关键 delta 点核查"""
import json, io, sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
BASE = r'e:\code\crm-backend-matt\.scratch\customer-e2e-r2'
def load(name):
with open(BASE + '\\' + name, encoding='utf-8') as f:
return json.load(f)
for name in ['e2e-core-r2-checks.json', 'e2e-heavy-r2-checks.json', 'e2e-incr-checks.json']:
d = load(name)
checks = d if isinstance(d, list) else d['checks']
from collections import Counter
c = Counter(ch['verdict'] for ch in checks)
print('=' * 20, name, '=' * 20)
print('verdicts:', dict(c), 'elapsed:', None if isinstance(d, list) else d.get('elapsedSec'))
for ch in checks:
if ch['verdict'] != '':
print(f" [{ch['verdict']}] {ch['flow']} · {ch['case']} | {ch['detail']}")
if isinstance(d, dict):
defs = d.get('defects') or []
print('defects:', json.dumps(defs, ensure_ascii=False))
# 关键 delta 点核查:board pool 行为 + 汇总卡 5 字段 + oplog 值域
core = load('e2e-core-r2-checks.json')['checks']
print('\n===== F-02 board 全部用例 =====')
for ch in core:
if ch['flow'] == 'F-02':
print(f" [{ch['verdict']}] {ch['case']} | {ch['detail']}")
print('\n===== F-07 汇总卡/oplog 用例 =====')
for ch in core:
if ch['flow'] == 'F-07':
print(f" [{ch['verdict']}] {ch['case']} | {ch['detail']}")
print('\n===== F-12 quick-create/confirmSimilar 用例 =====')
for ch in core:
if ch['flow'] == 'F-12':
print(f" [{ch['verdict']}] {ch['case']} | {ch['detail']}")
print('\n===== F-16 查重消费侧用例 =====')
for ch in core:
if ch['flow'] == 'F-16':
print(f" [{ch['verdict']}] {ch['case']} | {ch['detail']}")