【发布时间】:2014-10-13 21:00:38
【问题描述】:
我正在使用带有 browersify 的 angulajs 来构建应用程序。为了测试它,我想使用 Karma。 我已经像这样设置了我的 conf 文件:
module.exports = function(config) {
config.set({
basePath: '',
frameworks: ['jasmine', 'browserify'],
files: [
'node_modules/angular/angular.js',
'node_modules/angular-mocks/angular-mocks.js',
'src/app/*',
'src/app/*/*'
],
exclude: [
'src/app/*/*.jade'
],
reporters: ['progress'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome'],
singleRun: false,
browserify: {
debug: true
},
preprocessors: {'src/app/*/*.js': ['browserify']}
});
};
我的 app.js 文件如下所示:
require('angular')
require('angular-mocks')
var uiRouter = require('angular-ui-router')
var serices = require('./services')
var directives = require('./directives')
var controllers = require('./controllers')
var routes = require('./routes')
angular.module('myApp', [uiRouter, 'ngMocks'])
// load Routes
.config(routes)
// Services
.service('someService', services.someService)
// Controllers
.controller('myCtrl', controllers.myCtrl)
// Directives
.directive('myDirective', directives.myDirective);
我正在使用karma-browserify,但在运行测试时仍然出现以下错误:
'require is not defined'
我该如何解决这个问题?
【问题讨论】:
-
您的 karma 文件中的 glob 模式可能有误。我想你可能想要 src/app/*.js 和 src/app/**/*.js 之类的东西
标签: javascript angularjs karma-runner browserify