- 修复再次提交不置顶(排序键改用 last_submit_ts) - 后端结果缓存 + 并发锁(DataCache / ny_build_data / Roster 指纹失效) - 导出 xlsx 多表:按最新成绩 / 按班级分表 / 可选列 - 名单管理:新增改弹窗、删除多选+二次确认、登陆账号列 - 安全:CSRF token + 登录失败限流(5次锁10分钟) - 未匹配答卷一键加入名单(unmatched_map) - 缺考名单增强:复制学号/姓名、按班统计、打印 - 成绩快照 + 跨卷趋势(Snapshot) - 异常检测线索(短时长高分/高频重考/雷同成绩) - 前端性能:虚拟滚动、搜索防抖、后台暂停、失败退避 - 测试沉淀:test-new-features.php + run-all.sh
28 lines
842 B
Bash
28 lines
842 B
Bash
#!/usr/bin/env bash
|
|
# 一键跑完所有回归测试(PHP 单元自测 + Node e2e)。
|
|
# 用法:bash tests/run-all.sh
|
|
set -e
|
|
cd "$(dirname "$0")/.."
|
|
|
|
PHP="${PHP_BIN:-C:/Users/Zhang/.workbuddy/binaries/php/php.exe}"
|
|
NODE="${NODE_BIN:-C:/Users/Zhang/.workbuddy/binaries/node/versions/22.22.2-2/node.exe}"
|
|
INI="-d extension_dir=C:/Users/Zhang/.workbuddy/binaries/php/ext -d extension=pdo_sqlite"
|
|
|
|
echo "================ PHP 自测 ================"
|
|
for f in tests/test-aggregate.php tests/test-new-features.php tools/test-xlsxwriter.php; do
|
|
echo ""
|
|
echo ">>> $f"
|
|
"$PHP" $INI "$f"
|
|
done
|
|
|
|
echo ""
|
|
echo "================ Node e2e(需 mock-server + PHP 内置服务器) ================"
|
|
for f in tools/test-config-save.js tools/test-draw-alloc.js; do
|
|
echo ""
|
|
echo ">>> $f"
|
|
"$NODE" "$f"
|
|
done
|
|
|
|
echo ""
|
|
echo "全部测试完成。"
|