如何使用Jasmine和PhantomJS测试getCookie函数

时间:2015-05-12 08:44:20

标签: unit-testing cookies jasmine phantomjs

我在窗口对象上有一个函数,如下所示:

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行上记录它,则值为''。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:-1)

嗯,很奇怪document.cookie''只使用PhantomJs。通常,当cookie有一个过期时间时,它在document.cookie中不再可用。