【发布时间】:2019-10-08 01:05:57
【问题描述】:
我正在使用 jest 对我的 vue-electron 项目进行单元测试。在给定的测试中,我伪造了一个按钮单击以引发一系列事件。在那个链的某个地方,我向服务器发出 axios 请求,接收数据。但是,测试不会等待结果,而是继续进行,然后崩溃,因为结果还没有出现。
首先,我确保请求的参数和地址正确,它们是正确的。之后,我尝试在测试时是否在组件中定义了“axios”,情况也是如此。比我确保如果发送该请求,正确的响应是接收者,情况也是如此。当然,我使我的测试异步,希望它现在可以等待结果,但事实并非如此。
组件:
async functionInChain(){
const response = await axios({
url: myUrl,
method: 'POST',
responseType: 'arraybuffer',
params: {
// bind params
},
})
.then((resp: any) => {
// this goes wrong
})
}
测试:
describe('component.vue', async() => {
test('call runBot() and see if it reacts', async() => {
wrapper.find('v-btn.button-i-use').trigger('click')
/*later on i expect a value to be true, however it never is.
By setting different "checkpoints" i found out things go wrong in the axios request.*/
})
})
我没有得到任何错误,它只是不会工作
【问题讨论】:
-
该问题不包含所有相关代码。 functionInChain 不是整个组件。请提供stackoverflow.com/help/mcve。
标签: node.js vue.js electron jestjs axios