Javascript npm测试手表“;“卸载”;第二次了?

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

我有一个应用程序在node中运行,我的测试在Mocha中运行,使用Chai进行断言。我也在使用Angular,对于测试,我需要将Angular加载到window对象和其他一些位,我正在使用testHelper.jsjsdom

/* 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"
  }