在测试的文件中无法识别模拟的窗口对象

时间:2019-07-16 04:02:16

标签: javascript unit-testing mocking jsdom

我有一个JavaScript文件,该文件对当前域的Cookie进行了一些处理。在我的测试文件中,我正在尝试模拟document.cookie,以便正在测试的文件可以看到cookie并执行某些操作。我按如下方式设置了模拟:但是,我正在测试的文件无法识别任何这些属性(location.origindocument.cookie的日志显示为空)。

const expect = require('chai').expect;
var jsdom = require('jsdom');
const { JSDOM } = jsdom;
const dom = (new JSDOM(''));

describe('something', ()=>{
    it('should do something', ()=> {
        global.window = {
            location: {
                origin: "https://blah.com"
            },
            document: {
                cookie:{
                    Test: "12345" + ";" + getExpire() + ";path=/;secure"
                }
            }
        };

        document.cookie = global.window.document.cookie;
        const test-target-file = require('test-target-file.js');
        expect(document.cookie).to.not.equal('');
    });
});

有人可以解释为什么在我正在测试的文件中无法识别模拟值吗?

0 个答案:

没有答案