开玩笑无法加载模块vue-cookies

时间:2019-05-30 11:50:39

标签: vue.js jestjs

console.error node_modules/vue/dist/vue.runtime.common.dev.js:621
  [Vue warn]: Error in mounted hook (Promise/async): "TypeError: Cannot read property 'get' of undefined"

  found in

  ---> <Anonymous>
         <Root>
console.error node_modules/vue/dist/vue.runtime.common.dev.js:1884
  TypeError: Cannot read property 'get' of undefined
      at VueComponent.mounted (/home/ubuntu/vue-testing-skel/src/components/ChatApp.vue:66:1)

引起错误的行:

    this.current_nickname = this.$cookies.get('nickname')

this.$cookies由名为vue-cookies的模块提供

我已将其安装并保存在我的devDependencies中,但似乎开玩笑无法找到或加载它。

我不确定该怎么做才能确保Jest正确加载了这些模块。

1 个答案:

答案 0 :(得分:2)

使用Jest进行测试意味着它是独立的。这意味着像这样的全局对象。$ cookies不可用,因为它们与浏览器中的cookie接口。解决此问题的方法是模拟全局函数。有关如何执行此操作的更多信息,请点击此处: https://lmiller1990.github.io/vue-testing-handbook/mocking-global-objects.html#example-with-vue-i18n