Javascript 笑话:Vue组件可以';找不到模拟函数
我正在模拟一个ES6类,该类在我的Vue组件中使用:Javascript 笑话:Vue组件可以';找不到模拟函数,javascript,unit-testing,vue.js,jestjs,Javascript,Unit Testing,Vue.js,Jestjs,我正在模拟一个ES6类,该类在我的Vue组件中使用: export default class DataUploadApi { // Get uploaded files static async getUploadedFiles() : Promise<Object> { return WebapiBase.getAsync({uri: DATA_UPLOAD_ENPOINTS.FILES}); } } 这个测试通过了。但是,在快照中,我可
export default class DataUploadApi {
// Get uploaded files
static async getUploadedFiles() : Promise<Object> {
return WebapiBase.getAsync({uri: DATA_UPLOAD_ENPOINTS.FILES});
}
}
这个测试通过了。但是,在快照中,我可以看到调用的API失败,并显示以下错误消息:
<p>
_DataUploadService.default.getUploadedFiles is not a function
</p>
_DataUploadService.default.getUploadedFiles不是函数
我对函数mock做了什么错误?提前谢谢 我的代码似乎有一些问题: 模仿API 使用内部
模拟实现
似乎会导致问题,如果不需要额外的模拟功能,则不需要
jest.mock('@/apps/gb-data/webapi/DataUploadService', () => ({
getUploadedFiles() {
return Promise.resolve({ uploaded_files: {} });
},
}));
对测试的更改
和nextTick
都是必需的
it('with uploaded files', async () => {
const wrapper = mount(FileDownloadList, {
stubs: fileDownloadListStubs,
});
await flushPromises();
await wrapper.vm.$nextTick();
expect(wrapper).toMatchSnapshot();
});
我的代码似乎有一些问题: 模仿API 使用内部
模拟实现
似乎会导致问题,如果不需要额外的模拟功能,则不需要
jest.mock('@/apps/gb-data/webapi/DataUploadService', () => ({
getUploadedFiles() {
return Promise.resolve({ uploaded_files: {} });
},
}));
对测试的更改
和nextTick
都是必需的
it('with uploaded files', async () => {
const wrapper = mount(FileDownloadList, {
stubs: fileDownloadListStubs,
});
await flushPromises();
await wrapper.vm.$nextTick();
expect(wrapper).toMatchSnapshot();
});