用vue-test-utils模拟阿波罗智能查询?

时间:2019-11-21 22:17:26

标签: unit-testing vue.js nuxt vue-test-utils vue-apollo

我正在寻找一种使用jest和vue-test-utils模拟智能查询的解决方案。我能够模拟查询和变异,但仍然找不到智能查询的答案。我目前正在使用nuxt和@ nuxtjs / apollo。

<template>
    <div>
        <section>
        </section>
        <section class="team-listing">
            <h3>Our Team of Experts</h3>
            <ul >
                <li v-for="member in Team" :key="member.id" data-test="teamListing">
                    <!-- Add Team Member Here -->
                </li>
            </ul>
        </section>
    </div>
</template>

<script>
    import { GET_TEAM } from '~/apollo/queries';

    export default {
        data() {
            return {
                Team: {}
            }
        },
        apollo: {
            Team: {
                query: GET_TEAM,
                update({ getTeam  }) {
                    getTeam.reverse()
                    return getTeam
                },
                error(error) {
                    handleError(error)
                }
            }
        }
    }
</script>

我当前的测试解决方案不影响智能查询

const wrapper = shallowMount(About, {
  mocks: {
    apollo: {
      Team: jest.fn(() =>  Promise.resolve({
        update: jest.fn(() => Promise.resolve({ 
           getTeam: {}
        )),
      }))
    }
  }
})

我需要了解如何模拟智能查询,以便可以测试智能查询的更新和错误方法中的行。目前,我没有收到任何错误,因为vue-test-utils似乎根本没有运行智能查询。

有人有运气吗?还是知道或可以向我指出解决方案的方向?

0 个答案:

没有答案