gpt4 book ai didi

javascript - Vue + Jest 模拟全局方法

转载 作者:行者123 更新时间:2023-12-02 23:19:27 27 4
gpt4 key购买 nike

我正在开发一个项目,该项目在 index.html 文件的脚本标记中定义了一个方法。由于某种原因,这会导致 Jest 在运行时失败。

index.html

<script>
var getCookie = function(cookieVal) { return cookieVal; }
</script>

为了解决这个问题,我尝试在 Jest 全局变量中定义“getCookie”变量,例如:

package.json

"jest": {
"globals": {
"getCookie": "someString"
}
}

这确实定义了 getCookie,但是当我运行测试时,我收到此错误:

Error in data(): "TypeError: getCookie is not a function"

这是有道理的,但我不确定如何将其定义为 globals 对象中的函数。

如何在 Jest 中模拟我的 getCookie 函数?

最佳答案

尽管 Jest docs indicate that globals cannot contain functions ,我验证了全局函数仍然可以用 function expression 定义。或arrow function :

{
jest: {
globals: {
getCookie() { return 'someCookie' }, // function expression
getCookie: () => 'someCookie', // arrow function
}
}
}

或者,您可以定义 setupFiles设置 global.getCookie:

// package.json
{
jest: {
setupFiles: ['./jest.setup.js']
}
}

// jest.setup.js
global.getCookie = () => 'someCookie'

关于javascript - Vue + Jest 模拟全局方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57010746/

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