Javascript npm测试手表“;“卸载”;第二次了?
我有一个应用程序在node中运行,我的测试在Mocha中运行,使用Chai进行断言。我也在使用Angular,对于测试,我需要将Angular加载到window对象和其他一些位,我正在使用testHelper.js和jsdom:Javascript npm测试手表“;“卸载”;第二次了?,javascript,angularjs,node.js,npm,mocha.js,Javascript,Angularjs,Node.js,Npm,Mocha.js,我有一个应用程序在node中运行,我的测试在Mocha中运行,使用Chai进行断言。我也在使用Angular,对于测试,我需要将Angular加载到window对象和其他一些位,我正在使用testHelper.js和jsdom: /* global window */ const jsdom = require('jsdom').jsdom; global.document = jsdom().defaultView; global.window = global.document; glo
/* global window */
const jsdom = require('jsdom').jsdom;
global.document = jsdom().defaultView;
global.window = global.document;
global.navigator = window.navigator = {};
global.Node = window.Node;
global.window.mocha = {};
global.window.beforeEach = beforeEach;
global.window.afterEach = afterEach;
require('angular/angular');
require('angular-mocks');
global.angular = window.angular;
global.inject = global.angular.mock.inject;
global.ngModule = global.angular.mock.module;
require('../client/src/app');
我的包中有一个测试脚本。json如下:
"test": "mocha --reporter progress tools/testSetup.js \"test/*.js\""
当我运行npm运行测试时
,工作正常。测试运行并按预期通过/失败
然后我为start(因此npm run start
)设置了一个脚本,它运行我的应用程序,运行测试和lints,然后监视文件更改。这在第一次通过时运行良好:
"start": "npm-run-all --parallel test:watch open:src lint:watch"
(my package.json的完整脚本部分在下面,您可以看到这些命令)
然后,当我保存一个文件以触发手表时,我在控制台中收到错误:
TypeError: Cannot read property 'mock' of undefined
at Object.<anonymous> (D:\Git\local-poker-club\tools\testSetup.js:18:31)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at D:\Git\local-poker-club\node_modules\mocha\lib\mocha.js:222:27
at Array.forEach (native)
at Mocha.loadFiles (D:\Git\local-poker-club\node_modules\mocha\lib\mocha.js:219:14)
at Mocha.run (D:\Git\local-poker-club\node_modules\mocha\lib\mocha.js:487:10)
at loadAndRun (D:\Git\local-poker-club\node_modules\mocha\bin\_mocha:416:22)
at rerun (D:\Git\local-poker-club\node_modules\mocha\bin\_mocha:444:5)
at D:\Git\local-poker-club\node_modules\mocha\bin\_mocha:452:7
at StatWatcher.<anonymous> (D:\Git\local-poker-club\node_modules\mocha\lib\utils.js:196:9)
at emitTwo (events.js:106:13)
at StatWatcher.emit (events.js:191:7)
at StatWatcher._handle.onchange (fs.js:1487:10)
我做错了什么 可能的重复可能的重复
"scripts": {
"test": "mocha --reporter progress tools/testSetup.js \"test/*.js\"",
"lint": "node_modules/.bin/esw webpack.config.* client server",
"start": "npm-run-all --parallel test:watch open:src lint:watch",
"open:src": "babel-node server/app.js",
"lint:watch": "npm run lint -- --watch",
"test:watch": "npm run test -- --watch"
}