Uncaught ReferenceError: require is not defined on karma start karma.conf.js
Uncaught ReferenceError: require is not defined on karma start karma.conf.js
使用 Karma 和 Jasmine 在 rails 应用的 angular 前端进行单元测试。看来我已经做了所有已知的事情来解决这个错误,而且我的 package.json 中还剩下一百万个依赖项。这是我的 Karma.conf.js:
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
// list of files / patterns to load in the 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 to exclude
exclude: [
],
// preprocess matching files before serving them to the browser
// available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
preprocessors: {
},
// test results reporter to 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 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_INFO,
// enable / disable watching file and executing tests whenever any 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 the tests and exits
singleRun: false,
// Concurrency level
// how many browser should be started simultaneous
concurrency: Infinity,
plugins : [
'karma-requirejs',
'karma-jasmine',
'karma-chrome-launcher',
'karma-firefox-launcher',
'karma-browserify'
],
frameworks: ['jasmine', 'browserify']
})
}
这里有什么明显的错误吗?我希望有,看起来我已经中途实施了几个解决方案,但不知道到底发生了什么。谢谢!
我的 app.js 文件第一行出现错误 'require'
如果您使用 require 加载模块,请按照本指南设置 Karma:
https://karma-runner.github.io/0.8/plus/RequireJS.html
或者如果您使用 browserify 进行捆绑,请尝试一下:
https://github.com/nikku/karma-browserify
你可能还想看看这个问题:How to test browserify project using karma/jasmine
浏览器不理解要求,因此您需要在将文件提供给 browser.You 之前预处理文件测试。您还需要使用
安装 karma webpack
npm i --save-dev karma-webpack
有很多方法可以做到这一点,我就是这样做的。
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 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: ['chai','mocha'],
// list of files / patterns to load in the browser
files: [entry],
webpack:webpackConfig,
// list of files to exclude
exclude: [
],
// preprocess matching files before serving them to the browser
// available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
preprocessors:preprocessors,
// test results reporter to 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 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_INFO,
// enable / disable watching file and executing tests whenever any 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 the tests and exits
singleRun: false,
// Concurrency level
// how many browser should be started simultanous
concurrency: Infinity,
plugins:[
require('karma-webpack'),
('karma-chai'),
('karma-mocha'),
('karma-chrome-launcher')
]
})
}
here is a seed i worked on with karma, webpack, angularjs.
看一看,祝你好运。
使用 Karma 和 Jasmine 在 rails 应用的 angular 前端进行单元测试。看来我已经做了所有已知的事情来解决这个错误,而且我的 package.json 中还剩下一百万个依赖项。这是我的 Karma.conf.js:
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
// list of files / patterns to load in the 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 to exclude
exclude: [
],
// preprocess matching files before serving them to the browser
// available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
preprocessors: {
},
// test results reporter to 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 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_INFO,
// enable / disable watching file and executing tests whenever any 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 the tests and exits
singleRun: false,
// Concurrency level
// how many browser should be started simultaneous
concurrency: Infinity,
plugins : [
'karma-requirejs',
'karma-jasmine',
'karma-chrome-launcher',
'karma-firefox-launcher',
'karma-browserify'
],
frameworks: ['jasmine', 'browserify']
})
}
这里有什么明显的错误吗?我希望有,看起来我已经中途实施了几个解决方案,但不知道到底发生了什么。谢谢!
我的 app.js 文件第一行出现错误 'require'
如果您使用 require 加载模块,请按照本指南设置 Karma:
https://karma-runner.github.io/0.8/plus/RequireJS.html
或者如果您使用 browserify 进行捆绑,请尝试一下:
https://github.com/nikku/karma-browserify
你可能还想看看这个问题:How to test browserify project using karma/jasmine
浏览器不理解要求,因此您需要在将文件提供给 browser.You 之前预处理文件测试。您还需要使用
安装 karma webpacknpm i --save-dev karma-webpack
有很多方法可以做到这一点,我就是这样做的。
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 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: ['chai','mocha'],
// list of files / patterns to load in the browser
files: [entry],
webpack:webpackConfig,
// list of files to exclude
exclude: [
],
// preprocess matching files before serving them to the browser
// available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
preprocessors:preprocessors,
// test results reporter to 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 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_INFO,
// enable / disable watching file and executing tests whenever any 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 the tests and exits
singleRun: false,
// Concurrency level
// how many browser should be started simultanous
concurrency: Infinity,
plugins:[
require('karma-webpack'),
('karma-chai'),
('karma-mocha'),
('karma-chrome-launcher')
]
})
}
here is a seed i worked on with karma, webpack, angularjs.
看一看,祝你好运。