Ich habe den folgenden Code in einer Datei mit dem Namen options.js
. Ich muss es mit Jasmine verspotten. Ich muss testen, ob chrome.storage.local.set
aufgerufen wird, wenn save
Funktion aufgerufen wird.Mock chrome.storage.local Funktionen mit Jasmine
In der Spezifikationsdatei habe ich den folgenden Code. Aber es ruft nicht die Chrome-Funktion in options.js
Datei. Kann jemand auf den Fehler hinweisen?
beforeEach(function() {
ctrl = new OptionCtrl(scope);
chrome: {
storage: {
local: {
set: function() {
}
}
}
}
});
it('should call storage on save', function() {
spyOn(chrome.storage.local, 'set').and.callThrough();
ctrl.save({data: 'check'}, 'check');
expect(chrome.storage.local.set).toHaveBeenCalled();
});
Update 1: Funktionsimplementierung
save(data, successMessage) {
chrome.storage.local.set(data, (error) => {
if (error) {
this.status('Error Occurred. Please refresh.', 1000, 100, 'danger');
} else {
this.status(successMessage, 1000, 100, 'success');
}
});
}
Link to the options.js file speichern - Gewicht: 122
Was ist die Implementierung für 'ctrl.save()' Methode? –
'save' ist eine Funktion der Klasse' OptionCtrl', die 'chrome.storage.local.set (data, callback) aufruft' –