【发布时间】:2019-04-10 09:01:03
【问题描述】:
我正在尝试对导出的模块进行模拟,但我不知道如何。以下是我的代码。
api
// @/src/api/index.js
...
export const foo = {
fetch() {
return Promise.resolve()
}
}
vue
import { foo } from '@/api'
...
data() {
return {
receivedData: ''
}
},
methods: {
onClickButton() {
// event listener
foo.then(data => { this.receivedData = data }
}
}
test.spec.js
import { shallowMount } from '@vue/test-utils'
import { foo } from '@/api'
...
jest.mock('../../../src/api/index.js') // it does not mock foo
...
beforeEach(() => {
foo.mockClear()
// error : _api.foo.mockClear is not a function
})
在这个例子中,我如何为foo 制作模拟以名称导出,而不是像exported default foo 这样默认导出的模块。
【问题讨论】:
标签: javascript unit-testing vue.js jestjs