问题标签 [flush-promises]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vue.js - 使用 delayResponse 时,flushPromises() 函数不等待模拟 axios 调用被解析
我有一个登录组件,它应该获取用户凭据,将它们提交给 API,并根据响应在 VueX 商店中设置 JWT 或显示错误。
在单元测试中,我正在模拟 axios 调用,其响应延迟以模拟实际网络(使用 axios-mock-adapter 库)。目前,测试失败,因为尽管我正在使用flushPromises()
实用程序,但测试在承诺解决之前完成。事实上,我没有看到console.log
登录功能中的任何一个。
如果我delayResponse
从模拟调用中删除该属性,则测试通过,并且我在控制台日志中看到了预期的“获取数据”响应。
我在这里想念什么?有谁知道为什么flushPromises()
只是跳过 axios 调用?
我正在使用 Vuetify 框架,因此使用了v-
标签,尽管我怀疑这会对测试产生影响
模板:
登录功能相当简单:
测试文件:
VueX 商店:
响应:
javascript - 如何将回调函数变成 Promise
我需要让这段代码返回一个承诺。Idk 如何做到这一点,我想学习。如果可以的话,我还需要一些解释,谢谢!
node.js - 关于Aync,承诺,等待
我无法通过新对象获得结果。请帮助我。