首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jest.spyOn组件特性

jest.spyOn组件特性
EN

Stack Overflow用户
提问于 2022-03-28 20:08:09
回答 1查看 578关注 0票数 0

jest.spyOn组件属性可以吗?我需要确保isLoading总是true

代码语言:javascript
复制
export default {  
  data() {
    return {     
      isLoading: false,
    };
  },
  methods: {
    async loadData() {
      this.isLoading = true;
    }
  }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-29 20:41:57

您不能监视数据属性,但在这种情况下并不需要监视数据属性。

相反,您可以删除loadData(),并使用isLoading的初始值挂载组件。

  1. MyComponent.methods.loadData设置为jest.fn()以将其存根。
  2. 使用初始data()属性挂载组件,返回isLoading属性的true
代码语言:javascript
复制
import { shallowMount } from '@vue/test-utils'
import MyComponent from '@/components/MyComponent.vue'

describe('MyComponent', () => {
  it('sets isLoading', () => {
    1️⃣
    MyComponent.methods.loadData = jest.fn()

    const wrapper = shallowMount(MyComponent, {
      2️⃣
      data() {
        return {
          isLoading: true,
        }
      },
    })

    expect(wrapper.vm.isLoading).toBe(true)
    expect(wrapper.text()).toContain('Loading...')
  })
})

演示

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71653193

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档