【发布时间】:2019-12-12 17:36:03
【问题描述】:
我想在不模拟实际方法调用的情况下对工厂方法进行单元测试。我该怎么做?
下面是我的工厂,我需要在不模拟的情况下测试工厂方法。
angular
.module('core.app')
.factory('storageService', storageService);
function storageService() {
var service = {
getItem: getItem
};
return service;
function getItem(keyName) {
var data = sessionStorage.getItem(keyName);
return JSON.parse(data);
}
};
下面是我的 spec.ts 文件。不确定,我在哪里犯错。当我运行测试时,我收到错误'TypeError: Cannot read property 'getItem' of undefined'
导入'茉莉花';
从“角度”导入*作为角度;
导入“角度模拟”;
describe("reddit api 服务", function() {
var storageService: any;
beforeEach(function () {
angular.module('app.core');
});
beforeEach(inject(function (_storageService_) {
storageService = _storageService_;
}));
it('returns ranks', inject(function () {
var res = storageService.getItem('sdfsdf');
expect(res).toEqual(5);
}));
});
【问题讨论】:
标签: angularjs unit-testing jasmine