Vue.js Unit Test - Как проверить, есть ли у компонента метод? - PullRequest
1 голос
/ 05 июля 2019

У меня есть простой компонент с одним методом.Я хотел бы проверить, существует ли метод в нем.Я знаю, что могу проверить, содержит ли компонент определенный класс или строку, но не могу понять, как проверить имя метода.Не удалось найти простого объяснения.

Компонент для проверки:

<template>
    <div>
      <a id="returnButton" href="#" @click="toMainList" class="d-flex align-items-center back-to-button">
          <font-awesome-icon :icon="['fas', 'arrow-left']" class="fontBasicIcon back-to-button-icon" />
          <div>Back</div>
      </a>
    </div>
</template>

<script>
    import router from '@/router'

    export default {
        name: 'back-to-button',
        data () {
            return {
            }
        },
        methods:{
            toMainList(){
                $router.push('/mainlist');
            }
        }
    }
</script>

1 Ответ

2 голосов
/ 05 июля 2019

Если вы используете Jest и монтируете свой компонент для тестирования с помощью shallowMount или mount, возвращаемая оболочка предоставляет вам доступ к экземпляру Vue (включая все его методы)

const wrapper = shallowMount(Foo)
let instance = wrapper.vm // <- the Vue instance
let myMethod = instance.myMethod // <- a method callend 'myMethod' on the Vue instance

if(myMethod != undefined) {
  console.log("method 'myMethod' exists")
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...