当 运行 个较小的套件单独工作时,为什么全套 Jasmine 测试会失败?

Why would a full suite of Jasmine tests fail when running smaller suites individually works?

我有一个带有以下套件 glob 模式的量角器配置文件:

  suites: {
    all: ['**/*.spec.js'],
    ui: ['ui/**/*.spec.js'],
    api: ['api/**/*.spec.js']
  },

如果我在 Mac、运行 npm run protractor(默认套件 all)上,测试 运行 没问题。
如果团队中有另一个人,就Mac,运行s npm run protractor,测试运行 fine.
如果团队中的其他人在 Windows 主机上的 Ubuntu 虚拟机上:

此时,我想知道问题是否出在 Jasmine 最初遍历 spec 文件时 VM 的 nodejs 资源。完整套件中有 15k+ its。 onPrepare 在套件外工作正常,这一切让我认为实际抛出的错误是一个红色鲱鱼(这是一个带有 mysql 包的数据库调用引发了连接超时)。

我可以猜测这与 OS 读取您的 ** 路径的不同有关。我建议使用 path 库来解决这个问题。确保安装它然后

let path = require('path');

let specs = path.resolve('**/*.spec.js'); // it should be /your/working/direction/**/*.spec.js
console.log(specs) // to confirm your assumption

exports.config = {
  suites: {
    all: [specs],
    ui: ['ui/**/*.spec.js'],
    api: ['api/**/*.spec.js']
  },
}

但可能还有其他原因导致了问题