2016-06-22 18 views
0

私はCoffeeScriptで書かれた私のIonicプロジェクトのコントローラとサービスにユニットテストを書こうとしています。私はカルマとジャスミンを使いました。問題は、それがcoffeeScriptを解釈しないことです。だから私はこのプラグインカルマ・コーヒープリプロセッサを使って可能になったのです。私はそれを正しくやっているかどうかわかりません。CoffeeScript Code UnitTest AngularJS - Jasmine - Karma

私はこのコマンドでプラグインをインストールしました。 npm install --save-dev karma-coffee-preprocessor 次のように私は、私のテストの設定ファイルを設定した:

module.exports = function(config) { 
    config.set({ 

    basePath: '', 
    frameworks: ['jasmine'], 
    files: [ 
     '../bower_components/angular/angular.js', 
     '../bower_components/angular-ui-router/release/angular-ui-router.js', 
     '../bower_components/angular-mocks/angular-mocks.js', 
     '../src/scripts/**/*.coffee', 
     'unit-tests/**/*.js' 
    ], 

    exclude: [ 
    ], 

    preprocessors: { 
     '../src/scripts/**/*.coffee': ['coffee'] 
    }, 

    coffeePreprocessor: { 
     options: { 
     bare: true, 
     sourceMap: false 
     }, 
     transformPath: function(path) { 
     return path.replace(/\.coffee$/, '.js') 
     } 
    }, 

    reporters: ['progress'], 
    port: 9876, 
    colors: true, 
    logLevel: config.LOG_DEBUG, 
    autoWatch: true, 
    browsers: ['PhantomJS'], 
    singleRun: false, 
    concurrency: Infinity 
    }) 
} 

をしかし、私は私のテストを開始しようとすると、私はこのエラーを持っている:

Can not load "coffee", it is not registered! 
    Perhaps you are missing some plugin? 
/opt/node/lib/node_modules/karma/node_modules/di/lib/injector.js:9 
     throw error('No provider for "' + name + '"!'); 
    ^

Error: No provider for "framework:jasmine"! (Resolving: framework:jasmine) 
    at error (/opt/node/lib/node_modules/karma/node_modules/di/lib/injector.js:22:12) 
    at Object.parent.get (/opt/node/lib/node_modules/karma/node_modules/di/lib/injector.js:9:13) 
    at get (/opt/node/lib/node_modules/karma/node_modules/di/lib/injector.js:54:19) 
    at /opt/node/lib/node_modules/karma/lib/server.js:138:20 
    at Array.forEach (native) 
    at Server._start (/opt/node/lib/node_modules/karma/lib/server.js:137:21) 
    at invoke (/opt/node/lib/node_modules/karma/node_modules/di/lib/injector.js:75:15) 
    at Server.start (/opt/node/lib/node_modules/karma/lib/server.js:102:18) 
    at Object.exports.run (/opt/node/lib/node_modules/karma/lib/cli.js:243:26) 
    at Object.<anonymous> (/opt/node/lib/node_modules/karma/bin/karma:3:23) 
    at Module._compile (module.js:413:34) 
    at Object.Module._extensions..js (module.js:422:10) 
    at Module.load (module.js:357:32) 
    at Function.Module._load (module.js:314:12) 
    at Function.Module.runMain (module.js:447:10) 
    at startup (node.js:146:18) 

誰も私を助けることができますか? 私はこれらの単体テストを行うのに問題があります。私が正しいことをしているかどうかはわかりません。あなたはNPM経由ジャスミンのフレームワークをインストールして、カルマの設定ファイルにフレームワークコレクションに追加する必要があり、すべての

答えて

0

まず:

$ npm install karma-jasmine --save-dev 

その後、追加します。

frameworks: ['jasmine'] 

をカルマの設定ファイルに。

関連する問題