Karma-jasmine 未安装

Karma-jasmine not installing

我是 Unit Testing 的新手,所以我今天才知道 JasmineKarma

我安装了 Karma:

npm init
npm install karma --save-dev
npm install -g karma-cli
npm install karma-jasmine --save-dev
npm install karma-chrome-launcher --save-dev
karma init

然而,当我尝试启动 karma start karma.conf.js 时,它抛出了一个错误:

Error: Cannot find module 'jasmine-core'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.require.resolve (module.js:389:19)
    at initJasmine (/Users/appfoundry/Projects/Unit Testing/node_modules/karma-jasmine/lib/index.js:8:42)
    at Array.invoke (/Users/appfoundry/Projects/Unit Testing/node_modules/di/lib/injector.js:75:15)
    at get (/Users/appfoundry/Projects/Unit Testing/node_modules/di/lib/injector.js:48:43)
    at /Users/appfoundry/Projects/Unit Testing/node_modules/karma/lib/server.js:137:20
    at Array.forEach (native)
    at Server._start (/Users/appfoundry/Projects/Unit Testing/node_modules/karma/lib/server.js:136:21)
    at invoke (/Users/appfoundry/Projects/Unit Testing/node_modules/di/lib/injector.js:75:15)
    at Server.start (/Users/appfoundry/Projects/Unit Testing/node_modules/karma/lib/server.js:101:18)
    at Object.exports.run (/Users/appfoundry/Projects/Unit Testing/node_modules/karma/lib/cli.js:231:26)
    at requireCliAndRun (/usr/local/lib/node_modules/karma-cli/bin/karma:44:16)
    at /usr/local/lib/node_modules/karma-cli/bin/karma:54:12
    at /usr/local/lib/node_modules/karma-cli/node_modules/resolve/lib/async.js:44:21
    at ondir (/usr/local/lib/node_modules/karma-cli/node_modules/resolve/lib/async.js:187:31)
    at /usr/local/lib/node_modules/karma-cli/node_modules/resolve/lib/async.js:153:39

我试过全局安装核心:

npm install -g jasmine-core

但这并没有解决问题。

当我尝试安装 npm install karma-jasmine 时,我收到一条错误消息:

 karma-jasmine@0.3.6 requires a peer of jasmine-core@* but none was installed.

https://github.com/karma-runner/karma-jasmine

Note: Since karma-jasmine 0.3.0 the jasmine library is no longer bundled with karma-jasmine and you have to install it on your own. You can simply do it by:

npm install jasmine-core --save-dev

$ npm install jasmine-core --save-dev
$ npm install karma-jasmine --save-dev

问题是 Karma 运行全球通用。

我的解决方案(至少对我来说是最简单和无痛的)是用 npm scripts test 命令包装 karma start 命令,这样任何命令在本地上下文中都是 运行 .

package.json中,在"scripts": {}中添加"test": "karma start"

"scripts": { "test": "karma start", [...] },