dev.to | 📄 原文链接 | 2026-09-15 收录

我的测试框架用同一个标签覆盖了三种不同的失败

来源:dev.to — 2026-09-14

📋 概述

三条夹具分别调用同一个 reducer,返回的 failure_reasons 完全一致,中间那个 EXEC_ARGUMENTS_MISMATCH 在三种本质不同的失败里从未变过:第一条夹具送进解析器拒绝的参数,第二条送进可用但与冻结值不一致的调用,第三条送进作者自己的规范化器都拒绝的对象,导致比较根本没有完成。作者强调这些是构造输入,不能据此断定生产事故的责任方,但一个名字覆盖了三种情况,而且在什么都没比较的情况下仍然宣称「参数不匹配」——检查阶段的失败被读成了被检查对象的偏差。评论区 pm25coder 一句话点破:EXEC_ARGUMENTS_MISMATCH 之所以被误读成对模型的判决,正是因为这个名字没有主语。代码层面原因很清楚:一个 try 同时包住了三件不同的事——解析到达参数、做规范化比较、处理异常,两个不同的抛出点落进同一个 catch,而 catch 用参数的名字命名了错误。

🔑 核心要点

💡 金句

EXEC_ARGUMENTS_MISMATCH 之所以被读成对模型的判决,恰恰因为这个标签的名字里没有主语。
← 返回 dev.to 首页