Reputation: 436
I've got the angular and angular-mocks files in the karma config file, but it is erroring before I even get there..
All of the documentation online on this reference error says I don't have angular-mocks installed, but I'm pretty sure that's an error on the module variable in the spec files, not the initial karma config.
Here's my config file.
module.exports = function ( karma ) {
karma.set({ /** * From where to look for files, starting with the location of this file. */ basePath: '../',
/**
* This is the list of file patterns to load into the browser during testing.
*/
files: [
'vendor/angular/angular.js',
'vendor/angular-mocks/angular-mocks.js',
'vendor/angular-bootstrap-jbruni/ui-bootstrap-tpls.min.js',
'vendor/placeholders/angular-placeholders-0.0.1-SNAPSHOT.min.js',
'vendor/angular-ui-router/release/angular-ui-router.js',
'vendor/lodash/dist/lodash.min.js',
'vendor/angular-breadcrumb/angular-breadcrumb.js',
'vendor/restangular/dist/restangular.js',
'build/templates-app.js',
'build/templates-common.js',
'src/**/*.js',
'src/**/*.coffee',
],
exclude: [
'src/assets/**/*.js'
],
frameworks: [ 'jasmine' ],
plugins: [ 'karma-jasmine', 'karma-firefox-launcher', 'karma-coffee-preprocessor' ],
preprocessors: {
'**/*.coffee': 'coffee',
},
/**
* How to report, by default.
*/
reporters: 'dots',
/**
* On which port should the browser connect, on which port is the test runner
* operating, and what is the URL path for the browser to use.
*/
port: 9018,
runnerPort: 9100,
urlRoot: '/',
/**
* Disable file watching by default.
*/
autoWatch: false,
/**
* The list of browsers to launch to test on. This includes only "Firefox" by
* default, but other browser names include:
* Chrome, ChromeCanary, Firefox, Opera, Safari, PhantomJS
*
* Note that you can also use the executable name of the browser, like "chromium"
* or "firefox", but that these vary based on your operating system.
*
* You may also leave this blank and manually navigate your browser to
* http://localhost:9018/ when you're running tests. The window/tab can be left
* open and the tests will automatically occur there during the build. This has
* the aesthetic advantage of not launching a browser every time you save.
*/
browsers: [
'Firefox'
]
}); };
Upvotes: 3
Views: 2298
Reputation: 228
I just had similar issue.
ReferenceError: Can't find variable: module
After including the path to the 'angular-mocks.js' in the 'files:' section of the karma config file, it was able to find the module.
// list of files / patterns to load in the browser
files: [
'../js/angular.min.js',
'../js/myutils-service.js',
'./angular-mocks.js',
'./my-service.js'
],
Upvotes: 1