情况:
我正在测试我的Angular / Ionic应用程序。
我正在测试锁屏并遇到模式问题。
我收到以下错误:
TypeError: Cannot read property 'hide' of undefined
我已经阅读了一些控制器解决方案,但我还没有看到任何工厂解决方案。
代码:
工厂:
.factory('Service', function ($ionicModal) {
var obj = {};
var setup;
/**
* Sets the lockscreen code.
*/
obj.setCode = function (code1, code2) {
if (code1 == code2) {
window.localStorage["code"] = code1;
setup.hide();
}
};
/**
* Opens the lockscreen setup.
*/
obj.showSetup = function () {
if (window.localStorage["code"] == undefined) {
$ionicModal.fromTemplateUrl('.../xy.html')
.then(function (modal) {
setup = modal;
setup.backdropClickToClose = false;
setup.hardwareBackButtonClose = false;
setup.show();
});
}
};
});
测试:
describe('Testing Lockscreen', function(){
var Service;
beforeEach(module('starter'));
var fct = null;
beforeEach(inject(function(Service) {
fct = Service;
}))
it('on success', function(){
spyOn(fct, 'setCode').and.callThrough()
fct.setCode('1234','1234');
expect(window.localStorage["code"]).toBe('1234');
})
});
问题:
我该如何解决这个问题?
非常感谢!