繁体   English   中英

Vue.js单元测试-如何检查组件是否具有方法?

[英]Vue.js Unit Test - How to check if component has a method?

我有一个带有一种方法的简单组件。 我想检查其中是否存在方法。 我知道我可以检查组件是否包含某个类或字符串,但无法弄清楚如何检查方法的名称。 找不到任何简单的解释。

要测试的组件:

<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>

假设您使用Jest并通过shallowMountmount来安装组件以进行测试,则返回的包装shallowMount您可以访问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")
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM