2016-12-01 57 views
7

birim testini çalıştırırken değişken gerektirir: Gereksinim projemi test etmek için Karma, Webpack, enzim, PhantomJS kullanıyorum. Ben,Hata nasıl düzeltilir? ReferenceError: Karma, Web paketi, PhantomJS

./node_modules/karma/bin/karma start config/karma.conf.js --single-run --browsers PhantomJS 

test durumları çalıştırmak için komuta altında çalıştırdığınızda aşağıda hata var: test.js kaynak kodunun Satır3 olarak

PhantomJS 2.1.1 (Mac OS X 0.0.0) ERROR 
    ReferenceError: Can't find variable: require 
    at /dev/test/test.js:3 

, aşağıda, require kullanmıyordu kod şu: Neden PhantomJS bu hatayı şikayet ettiğimde dolaşıyorum. Ben size yükleyicinin presets bölümüne göz yorumladı düşünüyorum

var path = require('path'); 
var webpackconf = require("./webpack.config") 

module.exports = function(config) { 
    config.set({ 
    basePath: '', 
    frameworks: ['mocha', 'chai'], 
    files: [ 
     '../test/**/*.js' 
    ], 

    preprocessors: { 
     // add webpack as preprocessor 
     '../src/**/*.js': ['babel'], 
     '../test/**/*.js': ['babel'], 
     '../src/**/*.less': ['babel'] 
    }, 
    webpack: { //kind of a copy of your webpack config 
     devtool: 'inline-source-map', //just do inline source maps instead of the default 
     module: { 
     loaders: [ 
      { 
      test: /\.js$/, 
      loader: 'babel', 
      exclude: /node_modules/, 
      // query: { 
      // presets: ['es2015', 'react'] 
      // } 
      }, 
      { 
      test: /\.json$/, 
      loader: 'json', 
      },{ 
      test: /\.less$/, 
      loader: "style!css!less", 
      }, 
     ] 
     }, 
     externals: { 
     'react/lib/ExecutionEnvironment': true, 
     'react/lib/ReactContext': true, 
     'react/addons': true 
     } 
    }, 

    webpackServer: { 
     noInfo: true //please don't spam the console when running in karma! 
    }, 

    plugins: [ 
     'karma-webpack', 
     'karma-jasmine', 
     'karma-sourcemap-loader', 
     'karma-chrome-launcher', 
     'karma-phantomjs-launcher', 
     'karma-mocha', 
     'karma-chai', 
     'karma-mocha-reporter', 
     'karma-babel-preprocessor' 
    ], 


    babelPreprocessor: { 
     options: { 
     presets: ['es2015', 'react'], 
     sourceMap: 'inline' 
     } 
    }, 
    reporters: ['mocha'], 

    // reporter options 
    mochaReporter: { 
     colors: { 
     success: 'blue', 
     info: 'bgGreen', 
     warning: 'cyan', 
     error: 'red' 
     }, 
     symbols: { 
     success: '+', 
     info: '#', 
     warning: '!', 
     error: 'x' 
     } 
    }, 

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

cevap

0

:

Aşağıda benim karma conf dosyasıdır. es2015 önceden ayarlanmış babel olmadan import ifadeleri ile nasıl başa çıkmak için bilmiyorum. (import, ES6 modüllerinin bir parçasıdır, ancak henüz düğümde standart değildir.) query ve presets bloğundan rahatsızlık duydunuz mu?