展开知识库目录

AI 写的测试为什么会假通过,怎样检查断言有没有用

AI 很容易写出只执行代码、不检查结果,或断言永远为真的测试。

先把问题看准

测试通过前先证明它会失败

AI 很容易写出只执行代码、不检查结果,或断言永远为真的测试。先引入一个小错误,确认测试能失败且失败信息指向预期行为。

故障分支 1

只断言状态或非空

常见原因:断言过弱,错误内容仍满足条件。

处理方法:检查关键字段、业务不变量和副作用;用错误值验证断言真的区分。

把涉及的文件、目录、版本、命令和实际输出写进记录;代码变化同时保留 diff 与测试结果。

只有实际现象和证据与这一分支吻合时才执行处理;不吻合就继续检查下一层。

故障分支 2

Mock 了被测逻辑本身

常见原因:测试只验证自己配置的返回值。

处理方法:只替代真正外部边界,核心业务使用真实实现和可控输入。

确认“Mock 了被测逻辑本身”已经有可回查结果,再进入“异步任务没有等待”;依据仍然来自猜测时,把缺口单列并停在当前步骤。

只有实际现象和证据与这一分支吻合时才执行处理;不吻合就继续检查下一层。

故障分支 3

异步任务没有等待

常见原因:测试在断言前结束,或异常未传播。

处理方法:等待实际完成条件,检查失败分支和未处理 Promise,避免固定 sleep。

确认“异步任务没有等待”已经有可回查结果,再进入“选择器或用例没有执行”;依据仍然来自猜测时,把缺口单列并停在当前步骤。

只有实际现象和证据与这一分支吻合时才执行处理;不吻合就继续检查下一层。

故障分支 4

选择器或用例没有执行

常见原因:测试被跳过、筛选错误或浏览器定位到错误元素。

处理方法:检查测试数量、跳过状态和定位唯一性;故意改页面文案确认用例失败。

需要修改时先限定文件和行为范围,无法说明回滚方式或影响面的动作先不执行。 完成后把证据归入“失败注入结果与有效断言清单”。

只有实际现象和证据与这一分支吻合时才执行处理;不吻合就继续检查下一层。

做到这里就可以停

失败注入是测试的最低验收

对每条关键测试记录注入的错误、预期失败和恢复后通过。不能因真实缺陷失败的测试,覆盖率再高也没有保护作用。

进一步核对

参考资料与核对入口