У меня есть глобальный объект на window
, у которого есть функция. В моем коде я пишу это:
if (window.foo) {
window.foo.bar();
}
В тестах, когда window.foo
имеет значение, я утверждаю, что window.foo.bar
был вызван. Достаточно просто.
Jest покрытия жалуется, что я не проверяю отрицательное значение, т.е. когда window.foo
не определено. Но я изо всех сил пытался понять, что утверждать.
То, что я хотел бы сделать - это макет window.foo
и утверждать, что он вызывается только один раз, когда мы проверяем, имеет ли оно значение или не определено (то есть вызов window.foo.bar
никогда не выполняется.
Я пытаюсь смоделировать объект глобального окна и вернуть объект, но меня смущает вопрос о том, как смоделировать и подсмотреть значение, когда оно не является функцией, а затем проверить, что к нему был получен доступ.
Любая помощь приветствуется!