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

Posted

技术标签:

【中文标题】如何使用 jest.fn() 模拟属性【英文标题】:How to mock properties with jest.fn() 【发布时间】:2020-03-03 05:58:46 【问题描述】:

我有以下代码:

this.$vs.loading()
....
this.$vs.loading.close()

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

const vs = 
  loading: jest.fn()


mocks: 
   $vs: vs

但是我如何模拟loadingclose

使用loading: jest.fn(),我只是模拟loading()。如何在 loading 属性中模拟 close()

【问题讨论】:

【参考方案1】:

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

const vs = 
  loading: jest.fn()

vs.loading.close = jest.fn()

【讨论】:

以上是关于如何使用 jest.fn() 模拟属性的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Jest 模拟异步函数

如何清除 Jest 模拟实现以进行下一次测试?

jest.fn() 做啥以及如何使用它?

如何模拟组件方法?

如何使用 Jest 监视方法调用?

如何模拟 ES6 超类并用 jest.js 监视它?