使用vue-test-utils测试vue-apollo

时间:2019-06-10 11:12:14

标签: vue.js vuejs2 vue-test-utils vue-apollo

我是测试和GraphQL的新手。我正在尝试使用vue-test-utils和jest测试使用GraphQL的VueJS应用程序。我有一个组件,可以从挂接的钩子中的graphql服务器获取类别。

    @IBAction func changeThemeColor(_ sender: UIButton) {

        self.navigationController?.navigationBar.backgroundColor = Color.Black
self.navigationController?.navigationBar.barTintColor = Color.Black
    }

在我的mounted() { this.$apollo .query({ query: getCategories }) .then(res => { this.categoriesData[0].options = res.data.categories; }); } 中,我将Vue-apollo添加到vue实例。

StepTwo.spec.js

当我尝试安装组件时, const Vue = createLocalVue(); Vue.use(VeeValidate); Vue.use(BootstrapVue); Vue.use(VueApollo); test("Step Two ", async () => { const wrapper = shallowMount(StepTwo, { localVue: Vue }); }); 。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我设法解决了这个问题,但是我不知道这是否是正确的方法。安装组件时,我嘲笑了$ apollo。

mocks: {
  $apollo: {
    query: jest.fn(() => Promise.resolve({
      data: {
        categories,
        subCategories: categories
      }
    }))
  }
}