2015-12-14 62 views
4

我是Unit Testing的新用户,因此我今天只需了解JasmineKarmaKarma-jasmine没有安装

我安装噶:

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.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 

但这并没有解决它。

当我尝试安装​​我得到一个错误说:

[email protected] requires a peer of [email protected]* but none was installed. 

回答

8

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 
+0

确实做到了!谢谢。虽然我在'node-modules'文件夹中没有看到“karma-jasmine”或“karma-chrome”文件夹,这是否正常?我现在看到'jasmine-core'文件夹和'karma start karma.conf.js'works – Greg

+1

这取决于npm如何解决依赖关系,但这可能是正常的,是的。 '''npm''' [doc](https://docs.npmjs.com/cli/help) –

1

的问题是业力在全球范围内运行。

我的解决方案(最简单和无痛至少对我来说)是用npm脚本test命令包装karma start命令,以便任何命令都在本地环境中运行。

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

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