Как я могу вызвать метод VueJS в шрифт машинописного текста? - PullRequest
2 голосов
/ 03 апреля 2019

Я пишу тестовый код в VueCLI с использованием TypeScript и Jest.

Я вызвал метод файла Vue для проверки метода.

Однако произошла ошибка следующим образом.

HelloWorld.vue:

<template>
    <div class="hello">
    </div>
</template>

<script lang="ts">
import { Component, Prop, Vue } from 'vue-property-decorator';

@Component
export default class HelloWorld extends Vue {
    public testMethod() {
        return true;
    }
}
</script>

<style scoped lang="scss">
</style>

example.spec.ts:

import { shallowMount } from '@vue/test-utils';
import HelloWorld from '@/components/HelloWorld.vue';

describe('HelloWorld.vue', () => {
    it('testMethod', () => {
        const wrapper = shallowMount(HelloWorld, {
            propsData: { 'test' },
        });
        expect(wrapper.testMethod()).toBeTruthy();
    });
});

Произошла ошибка после выполнения команды модульного теста.

tests/unit/example.spec.ts:9:20 - error TS2551: Property 'testMethod' does not exist on type 'Wrapper<CombinedVueInstance<Vue, object, object, object, Record<never, any>>>'. Did you mean 'setMethods'?
9 expect(wrapper.testMethod()).toBeTruthy();

Почему тест не может вызывать методы в Vue JS?

Ответы [ 2 ]

2 голосов
/ 05 апреля 2019

попробуйте так

 expect(wrapper.vm.testMethod).toBe(true);
0 голосов
/ 03 апреля 2019

Попробуйте

expect(wrapper.vm.testMethod).toBeTruthy()

для доступа к экземпляру внутри оболочки. См. https://vue -test-utils.vuejs.org / api / wrapper /

1010 * ут * Компонент (только для чтения): это экземпляр Vue. Вы можете получить доступ ко всем методам экземпляра и свойствам vm с помощью wrapper.vm. это существует только в оболочке компонента Vue или в привязке HTMLElement Vue обертка компонента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...