I have recently bumped my Karma version from 0.10.x to 0.12.x. There now appears to be an inconsistency between the Safari runs and the PhantomJS runs. Safari always gives the following error. (I should also point out if I do not use both PhantomJS and Safari in the config. Then Karma hangs after these ReferenceError messages).
Safari 7.0.2 (Mac OS X 10.9.2) ERROR
ReferenceError: Can't find variable: angular
at /Users/ryan/Source/webview/specs/fixtures/thumbnailer/registrar.html.js:1
This is weird to me because none of my code relies on AngularJS. Therefore, it is not surprising it cannot be found in my HTML fixtures (obviously one of the Karma frameworks may include it).
Obviously, I am seeking a solution to the problem. But I am not opposed to providing a patch either. I just really do not know how to track down this issue. Help?
Below is my karma.conf.js file and the full Karma output using config.LOG_DEBUG.
// Karma configuration
// Generated on Thu Mar 20 2014 13:41:27 GMT-0400 (EDT)
module.exports = function(config) {
config.set({
// base path, that will be used to resolve files and exclude
basePath: '',
// frameworks to use
frameworks: ['jasmine', 'requirejs'],
preprocessors: {
'specs/**/*.html': ['html2js']
},
// list of files / patterns to load in the browser
files: [
// Need to do this to make sure jasmine-jquery is setup
// This is because jasmine-jquery does not support AMD/RequireJS
'support/js/libs/jquery-1.9.1.js',
'support/js/libs/jasmine-jquery.js',
// Start setup of the test environment
'specs/fixtures/**/*.html',
'specs/js/spec-main.js',
{pattern: 'support/js/libs/**/*.js', included: false},
{pattern: 'support/js/refman/**/*.js', included: false},
{pattern: 'specs/js/**/*Spec.js', included: false}
],
// list of files to exclude
exclude: [
'support/js/app.js'
],
// test results reporter to use
// possible values: 'dots', 'progress', 'junit', 'growl', 'coverage'
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_DEBUG,
// enable / disable watching file and executing tests whenever any file changes
autoWatch: true,
// Start these browsers, currently available:
// - Chrome
// - ChromeCanary
// - Firefox
// - Opera (has to be installed with `npm install karma-opera-launcher`)
// - Safari (only Mac; has to be installed with `npm install karma-safari-launcher`)
// - PhantomJS
// - IE (only Windows; has to be installed with `npm install karma-ie-launcher`)
browsers: ['Safari', 'PhantomJS'],
// If browser does not capture in given timeout [ms], kill it
captureTimeout: 60000,
// Continuous Integration mode
// if true, it capture browsers, run tests and exit
singleRun: false
});
};
I have recently bumped my Karma version from
0.10.x
to0.12.x
. There now appears to be an inconsistency between the Safari runs and the PhantomJS runs. Safari always gives the following error. (I should also point out if I do not use both PhantomJS and Safari in the config. Then Karma hangs after theseReferenceError
messages).This is weird to me because none of my code relies on AngularJS. Therefore, it is not surprising it cannot be found in my HTML fixtures (obviously one of the Karma frameworks may include it).
Obviously, I am seeking a solution to the problem. But I am not opposed to providing a patch either. I just really do not know how to track down this issue. Help?
Below is my
karma.conf.js
file and the full Karma output usingconfig.LOG_DEBUG
.