使用qunit在angularjs中模拟$ window

时间:2014-01-18 13:47:47

标签: unit-testing angularjs qunit

我对角度非常新,并且一直想要试驾,我遇到了嘲笑$ window的障碍。我尝试测试的项目非常简单但很重要 - 我需要知道localStorage是否存在,并且需要能够伪造$ window这样做。

到目前为止,代码非常基础,我所拥有的是服务...

'use strict';

mainApp.factory('somedataStorage',function($window) {
    var local = $window.localStorage;

    return {
        hasLocal: function() {
            return local != undefined;
        },
    };
});

我是如何测试它的......

    (function () {

    var fakeWin = {
        localStorage: null
    };

    var $injector = angular.injector(['ngMock', 'ng', 'mainApp']);
    //var $window = $injector.get('$window');

    var init = {
        setup: function () {
            //this.$window = fakeWin;
        },
    }

    module('LocalStorageTests', init);

    test("if localstorage isn't there, say so", function () {
        var $service = $injector.get('somedataStorage' /*, {$window: fakeWin} */);

        ok(!$service.hasLocal, "no local storage");
    });
})();

那么我错过了什么?

0 个答案:

没有答案