二七王:新增 Node 单元测试,CLAUDE.md 记录测试命令
- test/_shim.js:平台全局垫片(min_ary_include/deduct、min_random/now/ontimeout、 youle_erqiwang.import mock),忠实复刻 minhttp.js;仅测试用,不进正式代码 - test/_assert.js + run.js:极简断言与总运行器 - test/test_arith.js(扣底/算子常规+爬坡/算奖/甩牌/跟牌分量) test_config.js(位串/局数扣卡) test/test_paiju.js(亮牌/结算 get_paiju_account 集成),共 89 项断言全过 - test/README.md:运行方式与双运行时原理 - CLAUDE.md:常用命令补测试入口,说明服务端双运行时规范 (CLAUDE.md 内另含此前一处措辞微调,随本次文档更新一并纳入) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
// 二七王服务端单测总运行器:逐个 spawn test_*.js(各自独立进程/全局),汇总结果
|
||||
// 用法:node server/games/erqiwang/test/run.js
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const cp = require('child_process');
|
||||
|
||||
const dir = __dirname;
|
||||
const files = fs.readdirSync(dir).filter(f => /^test_.*\.js$/.test(f)).sort();
|
||||
let allOk = true;
|
||||
for (const f of files) {
|
||||
console.log('\n===== ' + f + ' =====');
|
||||
const r = cp.spawnSync(process.execPath, [path.join(dir, f)], { stdio: 'inherit' });
|
||||
if (r.status !== 0) allOk = false;
|
||||
}
|
||||
console.log('\n' + (allOk ? '===== 全部单测通过 =====' : '===== 存在失败单测 ====='));
|
||||
process.exit(allOk ? 0 : 1);
|
||||
Reference in New Issue
Block a user