2017-02-06 2 views
1

Ich versuche Karma-Webpack zu verwenden, um meine Typoskript-Tests für die Verwendung mit Karma zu erstellen.TypeScript-Testdateien bei Verwendung des Karma-Webpack-Plugins blockiert

Kürzlich haben meine Tests aufgehört zu laufen. In der Entwicklerkonsole gibt es Zeilen wie diese sind, zu jeder der Dateien entspricht meinen Tests enthalten:

Script von „http://localhost:9876/base/tests/testFile.ts?[HASH]“ wurde wegen eines Typs

nicht zulässig MIME blockiert

Es gibt Script-Tags wie diese, die durch karma erzeugt werden:

<script type="text/javascript" src="/base/tests/testFile.ts?[HASH]" crossorigin="anonymous"></script> 

(In beiden Fällen [HASH] zu einem Zeitstempel entspricht)

Wenn ich in die Dateien mit den Fehlermeldungen schaue, sieht es so aus, als ob die Kompilierung erfolgreich ist - jede Datei enthält das JS, das vom Typescript-Compiler erzeugt wird, zusammen mit allem, was mit dem Webpack zusammenhängt.

Mein Karma Config sieht wie folgt aus:

module.exports = function (config) { 
    config.set({ 
     plugins: [ 
      require('karma-firefox-launcher'), 
      require('karma-webpack'), 
      require('karma-tap') 
     ], 

     basePath: '', 
     frameworks: ['tap'], 
     files: ['tests/**/*.ts'], 

     preprocessors: { 
      'tests/**/*.ts': ['webpack'] 
     }, 

     webpack: { 
      module: { 
       rules: [ 
        { 
         test: /\.tsx?$/, 
         exclude: /node_modules/, 
         use: [ 
          "babel-loader", 
          "ts-loader" 
         ] 
        } 
       ] 
      }, 
      resolve: { 
       extensions: [".webpack.js", ".web.js", ".js", ".ts", ".tsx", ".css"] 
      }, 
      node: { 
       fs: 'empty' 
      } 
     }, 

     reporters: ['progress'], 
     port: 9876, 
     colors: true, 
     logLevel: config.LOG_INFO, 
     autoWatch: true, 
     browsers: ['Firefox'], 
     singleRun: false 
    }); 
}; 

Ich habe versucht, anstelle von Firefox mit Chromium aber ich einen ähnlichen Fehler erhalten, so dass ich denke, dass das Problem nicht Browser-spezifisch ist.

Wie kann ich verhindern, dass die Skripts blockiert werden und meine Tests wieder ausgeführt werden?


Paketversionen:

"karma": "1.4.1", 
"karma-firefox-launcher": "1.0.0", 
"karma-tap": "3.1.1", 
"karma-webpack": "2.0.2", 
"ts-loader": "2.0.0", 
"typescript": "2.2.0", 
"webpack": "2.2.1", 

Antwort

5

fand ich ein couple von issues, die dies auf die Karma-Konfigurationsdatei hinzufügen vorgeschlagen:

mime: { 
    "text/x-typescript": ["ts", "tsx"] 
} 

nun wieder meine Tests laufen in Firefox und Chrome .

+1

Sie sind ein Lebensretter! habe überall nach diesem gesucht – eavidan

Verwandte Themen