Javascript 为什么当单独运行较小的套件时,完整的Jasmine测试套件会失败?
我有一个具有以下套件glob模式的量角器配置文件: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的第一行抛出一个错
套房:{
全部:['***.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']
},
}
但可能还有其他原因导致了问题错误是什么?内存可能用完了?