我在窗口对象上有一个函数,如下所示:
window.getCookie = function(name){
// Get cookie with name, uses document.cookie for this.
};
现在我想在单元测试中测试这个逻辑,我正在使用Jasmine和PhantomJS。测试看起来像:
it('should get a cookie with a specific name.', function () {
// Setup
document.cookie = 'Foo=Bar; expires=Thu, 01 Jan 1970 00:00:00 UTC';
// Execute
var result = window.getCookie('Foo');
// Test
expect(result).toBe('Bar');
});
事实是,当代码在PhantomJS中执行时,document.cookie始终是''。因此,在第1行设置cookie基本上没有做任何事情。如果您在第2行上记录它,则值为''。
我该如何解决这个问题?
答案 0 :(得分:-1)
嗯,很奇怪document.cookie''只使用PhantomJs。通常,当cookie有一个过期时间时,它在document.cookie中不再可用。