You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何Jest测试用例expect(1).toEqual(2)未按预期失败?

问题原因及解决方案

核心原因:版本不兼容

你遇到的问题是ts-jest与Jest版本不匹配导致的:

  • ts-jest 29.x系列仅支持Jest 29.x版本
  • 你当前使用Jest 30.1.1,ts-jest 29.4.1无法适配Jest 30的内部API变更,导致基础断言逻辑失效。

具体表现的解释

  • expect(1).toEqual(2)意外通过:ts-jest未正确处理Jest 30的断言执行流程,该断言实际未被Jest正确校验,直接被标记为通过。
  • toHaveLength正常失败:这个匹配器的实现逻辑未受版本不兼容影响,仍能被Jest正确执行校验。

解决办法

二选一即可:

  1. 降级Jest到29.x版本,与ts-jest 29.4.1匹配:
    npm install jest@^29.7.0 --save-dev
    
  2. 升级ts-jest到适配Jest 30的版本(若已有适配版本,比如ts-jest 30.x系列):
    npm install ts-jest@^30.0.0 --save-dev
    

内容的提问来源于stack exchange,提问作者Jan Dolejsi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 10:42:05