Wie bekomme ich Karma + Webpack finden das Modul?

Ich will laufen meine tests auf einer Reihe von Modulen nach dem webpack hat, kombiniert Sie zusammen durch das Karma test runner, aber immer, wenn ich mit meinen tests Karma sagt,

"Error: Cannot find-Modul "hello.js" an
http://localhost:9877/base/src/hello.spec.js?d301966ffc1330826574d9d8fff5a644c3390c68:47"

Ich habe eine spec-Datei:

var a = require('hello.js');

describe("a test test", function() {

  it("humperdink test", function() {
    expect(a).toEqual('humperdink');
  }); //end it

}); //end describe

hello.js ist diese:

var a = 'humperdink';

module.exports = a;

Diese beiden Dateien sind im gleichen Ordner.

Meine karma.conf.js ist:

module.exports = function (config) {
  config.set({
    frameworks: ['jasmine'],
    files: [
      'src/**/*.js',
      'tests/**/*.spec.js'
    ],
    preprocessors: {
      'tests/**/*.spec.js': ['webpack'],
      'src/**/*.js' : ['webpack']
    },
    browsers: ['PhantomJS'],
    webpack: {
      entry: './src/hello.spec.js',
      output: {
        filename: 'bundle.js'
      }
    },
    webpackMiddleware: {
      noInfo: true
    }
  })
};

Derzeit mein devDependencies installiert sind

"devDependencies": {
    "jasmine-core": "^2.3.4",
    "jshint": "^2.8.0",
    "karma": "^0.13.15",
    "karma-jasmine": "^0.3.6",
    "karma-jshint-preprocessor": "0.0.6",
    "karma-phantomjs-launcher": "^0.2.1",
    "karma-webpack": "^1.7.0",
    "phantomjs": "^1.9.19",
    "sinon": "^1.17.2",
    "webpack": "^1.12.9"

Wie bekomme ich Karma zu finden hello.js Modul?

Ich habe versucht, die änderung der spec-Datei die erste Linie um Dinge wie

require('hello.js');

oder

require('./hello.js');

oder

require('hello');

auf den Rat von Karma, Webpack - Error: Cannot find module./test/utilities.js"

Ich glaube nicht, dass es etwas zu kompliziert hier Los ist, wie, Nicht finden kann-Moduls Fehler bei der Verwendung von karma-webpack.

Ich habe überprüft, um sicherzustellen, dass der Karma test runner arbeitet anders. Wenn ich einen wirklich einfachen test in einer eigenen Datei funktioniert es Prima.

Wie löse ich dieses problem?

  • Haben Sie versucht, die require('../src/hello');?
  • Ich habe, bevor ich mich bewegte beide Dateien in das gleiche Verzeichnis.
Schreibe einen Kommentar