Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么当单独运行较小的套件时,完整的Jasmine测试套件会失败?_Javascript_Node.js_Npm_Jasmine_Protractor - Fatal编程技术网

Javascript 为什么当单独运行较小的套件时,完整的Jasmine测试套件会失败?

Javascript 为什么当单独运行较小的套件时,完整的Jasmine测试套件会失败?,javascript,node.js,npm,jasmine,protractor,Javascript,Node.js,Npm,Jasmine,Protractor,我有一个具有以下套件glob模式的量角器配置文件: 套房:{ 全部:['***.spec.js'], 用户界面:['ui/***.spec.js'], api:['api/***/*.spec.js'] }, 如果我在Mac上运行npm运行量角器(默认套件为all),测试运行正常。 如果团队中的另一个人在Mac上运行npm运行量角器,测试运行正常。 如果团队中的其他人在Windows主机上的Ubuntu VM上: 运行npm运行量角器,测试结束。具体来说,onPrepare的第一行抛出一个错

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

套房:{
全部:['***.spec.js'],
用户界面:['ui/***.spec.js'],
api:['api/***/*.spec.js']
},
如果我在Mac上运行
npm运行量角器
(默认套件为
all
),测试运行正常。
如果团队中的另一个人在Mac上运行
npm运行量角器
,测试运行正常。
如果团队中的其他人在Windows主机上的Ubuntu VM上:

  • 运行
    npm运行量角器
    ,测试结束。具体来说,
    onPrepare
    的第一行抛出一个错误
  • 运行
    npm运行量角器--suite=ui
    ,测试运行正常
  • 运行
    npm运行量角器--suite=api
    ,测试运行正常
  • 运行
    npm运行量角器--suite=ui,api
    ,再次出现
    onPrepare
    错误

此时,我想知道当Jasmine最初遍历规范文件时,问题是否在于VM的nodejs资源。全套中有15k+
it
s。
onPrepare
在套件之外工作正常,这一切都让我觉得实际抛出的错误是在转移注意力(这是使用
mysql
包的数据库调用抛出了连接超时)。

我可以猜测这与不同的操作系统读取您的
**
路径有关。我建议使用
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']
  },
}


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

错误是什么?内存可能用完了?