我是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。