2017-06-15 71 views
1

我正在嘗試爲我的jHipster項目編寫我的Karma測試。我得到了一個TypeError: Attempted to assign to readonly property,所以我決定嘗試通過瀏覽器進行調試。Karma - 如果我不使用PhantomJS瀏覽器,沒有測試運行

最初使用的瀏覽器是PhantomJS,但我將其更改爲Firefox以便能夠進行調試。我還添加了詳細信息。

但不幸的是,當我使用不同PhantomJS東西,沒有測試運行:

Firefox 53.0.0 (Windows 7 0.0.0): Executed 0 of 0 SUCCESS (0 secs/0 secs) 
Firefox 53.0.0 (Windows 7 0.0.0): Executed 0 of 0 ERROR (0.004 secs/0 secs) 
15 06 2017 11:08:20.352:DEBUG [reporter.remap-istanbul]: Writing coverage to target/test-results/coverage 
15 06 2017 11:08:20.422:DEBUG [reporter.remap-istanbul]: Writing coverage to null 

=============================== Coverage summary =============================== 
Statements : 100% (0/0) 
Branches  : 100% (0/0) 
Functions : 100% (0/0) 
Lines  : 100% (0/0) 

這是我karma.conf.js

'use strict'; 

const path = require('path'); 
const webpack = require('webpack'); 
const WATCH = process.argv.indexOf('--watch') > -1; 
const LoaderOptionsPlugin = require("webpack/lib/LoaderOptionsPlugin"); 

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: ['jasmine', 'intl-shim'], 

    // list of files/patterns to load in the browser 
    files: [ 
     'spec/entry.ts' 
    ], 


    // list of files to exclude 
    exclude: ['e2e/**'], 

    // preprocess matching files before serving them to the browser 
    // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor 
    preprocessors: { 
     'spec/entry.ts': ['webpack', 'sourcemap'] 
    }, 

    webpack: { 
     resolve: { 
      extensions: ['.ts', '.js'] 
     }, 
     module: { 
      rules: [ 
       { 
        test: /\.ts$/, enforce: 'pre', loader: 'tslint-loader', exclude: /(test|node_modules)/ 
       }, 
       { 
        test: /\.ts$/, 
        loaders: ['awesome-typescript-loader', 'angular2-template-loader?keepUrl=true'], 
        exclude: /node_modules/ 
       }, 
       { 
        test: /\.(html|css)$/, 
        loader: 'raw-loader', 
        exclude: /\.async\.(html|css)$/ 
       }, 
       { 
        test: /\.async\.(html|css)$/, 
        loaders: ['file?name=[name].[hash].[ext]', 'extract'] 
       }, 
       { 
        test: /\.scss$/, 
        loaders: ['to-string-loader', 'css-loader', 'sass-loader'] 
       }, 
       { 
        test: /src[\/|\\]main[\/|\\]webapp[\/|\\].+\.ts$/, 
        enforce: 'post', 
        exclude: /(test|node_modules)/, 
        loader: 'sourcemap-istanbul-instrumenter-loader?force-sourcemap=true' 
       }, 
       { 
        test: /\.(jpe?g|png|gif|svg|woff|woff2|ttf|eot)$/i, 
        loaders: [ 
         'file-loader?hash=sha512&digest=hex&name=[hash].[ext]', { 
          loader: 'image-webpack-loader', 
          query: { 
           gifsicle: { 
            interlaced: false 
           }, 
           optipng: { 
            optimizationLevel: 7 
           } 
          } 
         } 
        ] 
       } 
       ] 
     }, 
     devtool: 'inline-source-map', 
     plugins: [ 
      new webpack.ContextReplacementPlugin(
       // The (\\|\/) piece accounts for path separators in *nix and Windows 
       /angular(\\|\/)core(\\|\/)(esm(\\|\/)src|src)(\\|\/)linker/, 
       root('./src') // location of your src 
      ), 
      new LoaderOptionsPlugin({ 
       options: { 
        tslint: { 
         emitErrors: !WATCH, 
         failOnHint: false 
        } 
       } 
      }) 
     ] 
    }, 

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

    junitReporter: { 
     outputFile: '../../../../target/test-results/karma/TESTS-results.xml' 
    }, 

    remapIstanbulReporter: { 
     reports: { // eslint-disable-line 
      'html': 'target/test-results/coverage', 
      'text-summary': null 
     } 
    }, 

    // 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_DEBUG, 

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

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

    // Continuous Integration mode 
    // if true, Karma captures browsers, runs the tests and exits 
    singleRun: !WATCH 
    }); 
}; 

function root(__path) { 
    return path.join(__dirname, __path); 
} 

回答

1

加入修正:

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

karma.conf.js

相關問題