【发布时间】:2016-01-21 16:21:45
【问题描述】:
我创建了这个服务来模拟 localStorage
var myModule = angular.module('mockLocalStorageModule', []);
myModule.factory('serviceMockLocalStorage', function() {
var mock = (function () {
var store = {};
return {
getItem: function (key) {
return store[key];
},
setItem: function (key, value) {
store[key] = value.toString();
},
clear: function () {
store = {};
},
removeItem: function (key) {
delete store[key];
}
};
})();
Object.defineProperty(window, 'localStorage', {value: mock, enumerable: true, writable: true, configurable: true});
});
我的业力测试包含这个
beforeEach(module('mockLocalStorageModule'));
但是服务没有使用,测试使用的是真正的localStorage。我做错了什么?
谢谢
【问题讨论】:
-
Karma 不是一个测试框架。它是一个测试运行器,用于运行使用单元测试框架(如 Jasmine 或 Mocha)编写的单元测试。你知道你使用的是哪个框架吗?大概就是其中之一吧。您能否在实例化模拟服务的地方包含更多测试?
标签: javascript angularjs unit-testing service karma-runner