Jasmine Test - 如何模拟window.location.href

时间:2014-07-03 12:37:11

标签: unit-testing jasmine

我是Jasmine单元测试的新手。我写了一个类似下面的函数。

//retrieve hash value from the url
        var hash = window.location.hash;
        //if hash exists, create a url and redirect
        if(hash != undefined && hash.length > 0){
            var newHref = hash.replace(/^#hash=/, '');
            window.location = newHref;
    }

基本上,它从窗口哈希中读取值并替换该值并使用新的href重新加载。在Jasmine写了一个类似下面的测试。

describe("onHashChange()", function() {
                    var href = "http://example.com/contactUs?abc=name";
                    var windowHash = "#hash="+href;
                    var newHref = windowHash.replace(/^#hash=/, '');
                    it('passes if Urls are equal', function() {
                        expect(href).toEqual(newHref);
                    });
                });

这是正确的测试吗?如何在jasmine中模拟window.location.href。

0 个答案:

没有答案