2

在引入了一堆 commonJS(至少我猜这就是它的名字)并开始使用 package.json 并升级所有包并到处出现错误之后,我正试图让我的业力茉莉花单元测试恢复运行。

跑步gulp test,我得到

[04:01:55] Using gulpfile ~/workspace/thisapp/Gulpfile.js
[04:01:55] Starting 'test'...
[04:01:55] Starting Karma server...

/home/leo/workspace/thisapp/node_modules/karma/node_modules/di/lib/injector.js:9
      throw error('No provider for "' + name + '"!');
            ^
Error: No provider for "framework:browserify"! (Resolving: framework:browserify)
    at error (/home/leo/workspace/thisapp/node_modules/karma/node_modules/di/lib/injector.js:22:68)
    at Object.parent.get (/home/leo/workspace/thisapp/node_modules/karma/node_modules/di/lib/injector.js:9:13)
    at get (/home/leo/workspace/thisapp/node_modules/karma/node_modules/di/lib/injector.js:54:19)
    at /home/leo/workspace/thisapp/node_modules/karma/lib/server.js:29:14
    at Array.forEach (native)
    at start (/home/leo/workspace/thisapp/node_modules/karma/lib/server.js:28:21)
    at invoke (/home/leo/workspace/thisapp/node_modules/karma/node_modules/di/lib/injector.js:75:15)
    at Object.exports.start (/home/leo/workspace/thisapp/node_modules/karma/lib/server.js:307:12)
    at Object.<anonymous> (/home/leo/workspace/thisapp/node_modules/gulp-karma/lib/background.js:3:8)
    at Module._compile (module.js:456:26)

    frameworks : [ 'jasmine', 'browserify' ],

在我的业力配置和这组(可怕的)依赖项中:

"browserify": "^10.2.3",
"browserify-shim": "^3.8.9",
"esmangle": "^1.0.1",
"gulp": "^3.9.0",
"gulp-browserify": "^0.5.1",
"gulp-cordova": "^0.1.2",
"gulp-if": "^1.2.5",
"gulp-jshint": "^1.11.0",
"gulp-karma": "0.0.4",
"gulp-replace": "^0.5.3",
"gulp-shell": "^0.4.2",
"gulp-sourcemaps": "^1.5.2",
"gulp-uglify": "^1.2.0",
"gulp-util": "^3.0.5",
"jasmine-core": "^2.3.4",
"karma": "^0.12.37",
"karma-browserify": "^4.2.1",
"karma-chrome-launcher": "^0.2.0",
"karma-commonjs": "0.0.13",
"karma-jasmine": "^0.3.6",
"karma-jasmine-html-reporter": "*",
"karma-phantomjs-launcher": "^0.2.0",
"phantomjs": "^1.9.17",
"vinyl-buffer": "^1.0.0",
"vinyl-source-stream": "^1.1.0"

现在我的假设是,如果karma-jasmine有效,它确实有效(browserify是最新添加的,因为测试需要一些requires 并karma-commonjs导致与 相同的问题karma-browserify),那么karma-browserify应该同样有效。

但是,对于一个非常相似的karma-jasmine未找到错误,我已经从 切换karmagulp-karma,因为在那里我发现了错误并且它被标记为已修复,至少对于karma-jasmine它来说是这样。

最后,我需要karma并且很高兴拥有requiregulp但我迷路了。

4

1 回答 1

1

您还需要将其添加到 karma 配置的插件中:

plugins : [
    'karma-junit-reporter',
    'karma-chrome-launcher',
    'karma-firefox-launcher',
    ....
    'karma-commonjs',
    'karma-browserify'
],
于 2015-10-14T09:57:16.717 回答