2017-06-15 8 views
1

Ich versuche meine Karma-Tests für mein jHipster-Projekt zu schreiben. Ich habe eine TypeError: Attempted to assign to readonly property, also entschied ich mich zu versuchen, es über meinen Browser zu debuggen.Karma - Kein Test läuft, wenn ich nicht PhantomJS Browser verwende

Ursprünglich war der verwendete Browser PhantomJS, aber ich änderte es in Firefox, um debuggen zu können. Ich habe auch ausführlich hinzugefügt.

Aber leider, wenn ich etwas anderes PhantomJS verwenden, laufen keine Tests:

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) 

Hier ist meine 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); 
} 

Antwort

1

Fest durch Zugabe:

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

in karma.conf.js.

Verwandte Themen