如何使用 jest.fn() 模拟属性

Ajj*_*Hsh 5 vue.js jestjs vuejs2

我有以下代码:

this.$vs.loading()
....
this.$vs.loading.close()
Run Code Online (Sandbox Code Playgroud)

我需要像这样将模拟传递给shallowMount:

const vs = {
  loading: jest.fn()
}

mocks: {
   $vs: vs
}
Run Code Online (Sandbox Code Playgroud)

但我怎样才能嘲笑loadingand呢close

使用时loading: jest.fn(),我只是嘲笑loading()。我如何在属性close()内进行模拟loading

ton*_*y19 5

您可以将模拟属性附加到模拟函数本身:

const vs = {
  loading: jest.fn()
}
vs.loading.close = jest.fn()
Run Code Online (Sandbox Code Playgroud)