2017-02-06 10 views
1

Я пытаюсь использовать karma-webpack для создания своих тестов для использования с кармой.Тестовые файлы TypeScript заблокированы при использовании плагина karma-webpack

Недавно мои тесты прекратили работу. В консоли разработчика, есть строки, как это, соответствующие каждому из файлов, содержащих мои тесты:

Script из «http://localhost:9876/base/tests/testFile.ts?[HASH]» был заблокирован из-за неразрешенной типа MIME

Есть теги сценария как это, которые порождаются кармой:

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

(в обоих случаях [HASH] соответствует временной метки)

Если я просматриваю файлы, связанные с сообщениями об ошибках, похоже, что компиляция прошла успешно - каждый файл содержит JS, сгенерированный компилятором типов, вместе со всеми материалами, связанными с webpack.

Моя карма конфигурации выглядит следующим образом:

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 
    }); 
}; 

Я попытался с помощью Chromium вместо Firefox, но я получаю подобную ошибку, так что я думаю, что этот вопрос не является браузером по конкретным.

Как предотвратить блокирование скриптов и повторное тестирование моих тестов?


версии пакета:

"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", 

ответ

5

Я нашел couple из issues, который предложил добавить это в файл карму конфигурации:

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

Теперь мои тесты снова работать в Firefox и Chrome ,

+1

Вы спасатель жизни! везде искали – eavidan