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

Angular 16中如何固定ng test的测试执行顺序?

Angular 16.2.0 禁用Jasmine随机测试、按顺序执行测试的正确方案

你之前的配置无效,是因为Angular 16+版本中,默认的Karma配置会被Angular CLI的构建工具覆盖,直接修改karma.config.js的client.jasmine节点不再生效。以下是两种可行的解决方法:

方法一:通过angular.json配置

在项目根目录的angular.json中,找到对应项目的test配置节点,在options里添加相关配置:

{
  "projects": {
    "你的项目名称": {
      "architect": {
        "test": {
          "options": {
            "client": {
              "jasmine": {
                "random": false
              }
            }
          }
        }
      }
    }
  }
}

方法二:在test.ts中直接设置Jasmine参数

打开src/test.ts文件,在Jasmine初始化前添加以下代码:

// 禁用随机测试执行顺序
jasmine.getEnv().configure({ random: false });

验证是否生效

运行测试命令ng test,观察控制台输出,如果不再显示Randomized with seed: xxx的提示,说明配置生效,测试会按文件顺序执行。

注意:如果你的项目是Angular CLI默认生成的,karma.config.js可能由构建工具自动生成,直接修改该文件的配置大概率不会被CLI读取,优先使用前两种方法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 16:03:11