angularjs - Uncaught ReferenceError: require is not defined on karma start karma.conf.js -
using karma , jasmine unit testing on angular front-end of rails app. appears i've done known man through error , i'm left million dependencies in package.json. here karma.conf.js:
module.exports = function(config) { config.set({ // base path used resolve patterns (eg. files, exclude) basepath: '', // frameworks use // available frameworks: https://npmjs.org/browse/keyword/karma-adapter // list of files / patterns load in browser files: [ //angular mocks 'bower_components/angular/angular.js', 'bower_components/angular-mocs/angular-mocks.js', 'bower_components/angular-resource/angular-resource.js', //load modules 'public/app/app.js', //test file locations 'app/**/*.js', 'spec/**/*.js', 'public/**/*.js' ], // list of files exclude exclude: [ ], // preprocess matching files before serving them browser // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor preprocessors: { }, // test results reporter use // possible values: 'dots', 'progress' // available reporters: https://npmjs.org/browse/keyword/karma-reporter reporters: ['progress'], // web server port port: 9876, // enable / disable colors in output (reporters , 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_info, // enable / disable watching file , executing tests whenever file changes autowatch: true, // start these browsers // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher browsers: ['chrome', 'firefox'], // continuous integration mode // if true, karma captures browsers, runs tests , exits singlerun: false, // concurrency level // how many browser should started simultaneous concurrency: infinity, plugins : [ 'karma-requirejs', 'karma-jasmine', 'karma-chrome-launcher', 'karma-firefox-launcher', 'karma-browserify' ], frameworks: ['jasmine', 'browserify'] }) }
is there obvious i'm doing wrong here? i'm hoping there is, looks i've halfway implemented couple solutions here without knowing going on. thanks!
i'm getting error on app.js file on first line 'require'
browser don't understand require need pre-process files before serve them browser.you can config webpack karma.config karma can use webpack preprocess files before testing. need karma webpack install with,
npm --save-dev karma-webpack
there many ways this, did way.
var path = require('path'); var webpackconfig = require('./webpack.config'); var entry = path.resolve(webpackconfig.context, webpackconfig.entry); var preprocessors = {}; preprocessors[entry] = ['webpack']; module.exports = function(config) { config.set({ // base path used resolve patterns (eg. files, exclude) basepath: '', // frameworks use // available frameworks: https://npmjs.org/browse/keyword/karma-adapter frameworks: ['chai','mocha'], // list of files / patterns load in browser files: [entry], webpack:webpackconfig, // list of files exclude exclude: [ ], // preprocess matching files before serving them browser // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor preprocessors:preprocessors, // test results reporter use // possible values: 'dots', 'progress' // available reporters: https://npmjs.org/browse/keyword/karma-reporter reporters: ['progress'], // web server port port: 9876, // enable / disable colors in output (reporters , 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_info, // enable / disable watching file , executing tests whenever file changes autowatch: true, // start these browsers // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher browsers: ['chrome'], // continuous integration mode // if true, karma captures browsers, runs tests , exits singlerun: false, // concurrency level // how many browser should started simultanous concurrency: infinity, plugins:[ require('karma-webpack'), ('karma-chai'), ('karma-mocha'), ('karma-chrome-launcher') ] }) }
here seed worked on karma, webpack, angularjs.
take , luck.
Comments
Post a Comment