Ich benutze AngularJS mit Karma mit dem Jasmine-Framework. Ich habe mehrere andere Tests laufen und arbeiten. Mein Problem ist, wenn ich versuche, diese auszuführen:ReferenceError: spyOn ist nicht definiert Angularjs/Karma/Jasmine
spyOn(window, 'confirm').and.returnValue(true);
ich diesen Fehler:
ReferenceError: spyOn is not defined
Hier ist meine config:
module.exports = function() {
return {
basePath: '../',
frameworks: ['jasmine'],
reporters: ['progress'],
browsers: ['Chrome_without_security'],
autoWatch: true,
// these are default values anyway
singleRun: false,
colors: true,
plugins : [
'karma-chrome-launcher',
'karma-jasmine',
'karma-ng-scenario'
],
customLaunchers: {
Chrome_without_security: {
base: 'Chrome',
flags: ['--disable-web-security']
}
},
files : [
'static/js/bower_components/angular/angular.js',
'static/js/app.js',
'static/js/controllers.js'
]
}
};
var sharedConfig = require('./karma-shared.conf');
module.exports = function(config) {
var conf = sharedConfig();
conf.files = conf.files.concat([
//test files
'./tests/e2e/account/sign-up.js',
'./tests/e2e/account/sign-in.js',
'./tests/e2e/organization/*.js',
//'./tests/e2e/**/*.js',
'./tests/e2e/account/sign-out.js'
]);
conf.proxies = {
'/': 'http://localhost/'
};
conf.urlRoot = '/__karma__/';
conf.frameworks = ['ng-scenario'];
config.set(conf);
};
Die Konfiguration besteht aus einem gemeinsamen und spezifischen Konfiguration für E2e-Tests.
Ich habe alles andere funktioniert und Jasmine wird als das Framework in meiner Karma-Konfiguration angegeben. Irgendwelche Ideen?
ng-Szenario-Syntax ist Jasmins ähnlich, aber nicht identisch. Bist du sicher, dass Jasmine tatsächlich geladen ist? Versuchen Sie in einem Komponententest oder einem Integrationstest zu spionOn? –
@chris Casper, keine Antwort? – Danger14