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

如何在Jasmine中排除指定目录下的spec测试文件?

在Jasmine中排除指定目录的Spec测试文件

当然可以!你的配置没生效大概率是几个细节问题导致的,咱们一步步来解决:

首先明确路径关系:当你把spec_dir设为Foo/后,spec_files里的所有路径都是相对于Foo目录的。你的原始配置里排除规则!**/extended/*.js存在两个小问题:

  1. 你排除的是该目录下所有JS文件,但其实你只想排除spec测试文件,应该匹配*[sS]pec.js而非*.js;
  2. 虽然**/extended能匹配任意层级下的extended目录,但Jasmine的glob匹配对路径精确性要求较高,咱们可以调整得更明确。

正确的配置方案

试试修改你的jasmin.json为以下内容:

{
  "spec_dir": "Foo/",
  "spec_files": [
    "**/*[sS]pec.js",
    "!**/extended/*[sS]pec.js"
  ]
}

如果你想更精准地指向sub/extended目录,也可以写成:

{
  "spec_dir": "Foo/",
  "spec_files": [
    "**/*[sS]pec.js",
    "!sub/extended/*[sS]pec.js"
  ]
}

额外注意事项

  • Jasmine版本要求:以!开头的否定glob模式,是从Jasmine 2.5版本才开始支持的。如果你的Jasmine版本低于这个,配置肯定不会生效,建议升级到较新版本。
  • 路径排查小技巧:如果还是有问题,可以尝试不设置spec_dir,直接用完整相对路径配置,避免路径相对关系的混淆:
    {
      "spec_files": [
        "Foo/**/*[sS]pec.js",
        "!Foo/sub/extended/*[sS]pec.js"
      ]
    }
    

这样配置后,Jasmine就会自动跳过Foo/sub/extended目录下的所有spec测试文件啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:27:09