3

Angular を使用したプロジェクトで Karma をセットアップしようとしています。現在受け取っているエラーは次のとおりです。

エラー: [$injector:nomod] モジュール 'app' は利用できません! モジュール名のつづりを間違えたか、モジュールをロードするのを忘れました。モジュールを登録する場合は、依存関係を 2 番目の引数として指定してください。 http://errors.angularjs.org/1.4.7/ $injector/nomod?p0=app at /htdocs/src/javascript/app/controllers/fixedQuoteFormController_test.js:2073

私が達成しようとしているのは、明らかにテストがないため、単なる初期設定です。コントローラーの module.export が気に入らないようです。このセットアップを機能させる方法についての助けをいただければ幸いです。

私の Karma.conf ファイル:

// Karma configuration
// Generated on Tue Nov 17 2015 13:05:37 GMT-0600 (CST)

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

// base path that will be used to resolve all patterns (eg. files, exclude)
basePath: '',

// frameworks to use
// available frameworks: https://npmjs.org/browse/keyword/karma-adapter
frameworks: ['mocha', 'chai'],

plugins: [
  require("karma-webpack"),
  require("karma-mocha"),
  require("karma-phantomjs-launcher"),
  require("karma-chai")
],

// list of files / patterns to load in the browser
files: [
  'node_modules/angular/angular.js',
  'node_modules/angular-mocks/angular-mocks.js',
  'src/javascript/app/**/*_test.js',
  'src/javascript/app/**/**/*_test.js'
],

// list of files to exclude
exclude: [
],

// preprocess matching files before serving them to the browser
// available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
preprocessors: {
  // add webpack as preprocessor
  'src/javascript/app/*_test.js': ['webpack'],
  'src/javascript/app/**/*_test.js': ['webpack']
},

webpack: {
  // karma watches the test entry points
  // (you don't need to specify the entry option)
  // webpack watches dependencies
  // webpack configuration
},

webpackMiddleware: {
  // webpack-dev-middleware configuration
  // i. e.
  noInfo: true
},

// test results reporter to use
// possible values: 'dots', 'progress'
// available reporters: https://npmjs.org/browse/keyword/karma-reporter
reporters: ['progress'],

// web server port
port: 9876,

// enable / disable colors in the output (reporters and logs)
colors: true,

// level of logging
// possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
logLevel: config.LOG_INFO,

// enable / disable watching file and executing tests whenever any file changes
autoWatch: true,

// start these browsers
// available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
browsers: ['PhantomJS'],

// Continuous Integration mode
// if true, Karma captures browsers, runs the tests and exits
singleRun: false,

// Concurrency level
// how many browser should be started simultanous
concurrency: Infinity,
  })
}

私のテストファイル:(コントローラーを要求しようとしているだけです)

const testCont = require('./testCont');

私のコントローラー

module.exports = angular.module('app').controller('testCont', testCont);

/* @ngInject */
function testCont() {
    return 1;
}
4

1 に答える 1

2

私は、 Angular + Webpack + ES6 + Karma + Mocha + Chaiの正常な動作セットアップとして機能する、私が取り組んできた概念実証を持っています。

多分それはあなたの問題についての洞察や助けを与えるでしょう. 気軽にフォークして試してみて、そのセットアップがあなたに適しているかどうかを確認してください。私は Webpack.config.js と Karma.conf.js を別々のファイルに持っています。

それはあなたにとってよりクリーンな出発点として役立つかもしれません.

于 2015-11-18T20:50:37.013 に答える