Я работаю над проектом, в котором есть метод, определенный в теге script файла index.html. По какой-то причине это приводит к сбою Jest при запуске.
index.html
<script>
var getCookie = function(cookieVal) { return cookieVal; }
</script>
Чтобы исправить это, я попытался определить переменную getCookie внутри глобальных переменных Jest, например:
package.json
"jest": {
"globals": {
"getCookie": "someString"
}
}
Это определяет getCookie, но когда я запускаю свои тесты, я получаю эту ошибку:
Error in data(): "TypeError: getCookie is not a function"
что имеет смысл, но я не уверен, как я могу определить это как функцию в объекте globals.
Как я могу издеваться над моей функцией getCookie в Jest?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Несмотря на В документах Jest указано, что globals не может содержать функции., я убедился, что глобальные функции все еще могут быть определены с помощью функциональное выражение или стрелочная функция:
{
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'