gpt4 book ai didi

javascript - 如何在 JEST 中模拟 Cookie.get ('language' )

转载 作者:行者123 更新时间:2023-12-03 19:31:46 25 4
gpt4 key购买 nike

我有一个函数可以在 cookie 中设置语言并获取它的某些功能。如何正确设置语言的值以在 JEST 中进行测试

function resolveLanguage () {
// browser cookie is checked to see if there is a value for language
const lang = Cookie.get('language')

// If no lang, it is defaulted to en
return lang || 'en'
}

现在我想在 JEST 中测试它
it('can resolve the language using a cookie', () => {
Cookie.__defineGetter__("language", function() {
return 'fr'
})
// console.log(Cookie.language) //returns fr
// console.log(Cookie.get('language')) //returns fr
expect(module.resolveLanguage()).toBe('fr') ---FAILS because it returns en
})

最佳答案

不必下载任何deps,只需使用:

Object.defineProperty(window.document, 'cookie', {
writable: true,
value: 'myCookie=omnomnom',
});
( writable 需要设置为 true)

关于javascript - 如何在 JEST 中模拟 Cookie.get ('language' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50761393/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com