使用 mockResolvedValueOnce 时 await trigger event 之后 promise 状态直接变为 resolved 了

使用 mockResolvedValueOnce 时 await trigger event 之后 promise 状态直接变为 resolved 了

http://img1.sycdn.imooc.com//climg/607709190913fb5a16881248.jpg

添加log之后是这样的

http://img1.sycdn.imooc.com//climg/60770e3d09c7b30512161080.jpg

http://img1.sycdn.imooc.com//climg/60770e660914f2ef18941374.jpg

会先 resolve 再去测试....​ 研究了半天没啥结果 不知道问题出在哪里

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

4回答
hx_001 2022-03-08 18:57:06

```

 jest.spyOn(axios, "post").mockResolvedValue({

   status: "success",

 });

```

新版本要这么写,但是只能请求得用async, 用then的方式 好像也会报错.


hx_001 2022-03-08 11:42:31

rc18版本了,怎么还没解决这个问题..官网的例子也跑不通..

张轩 2021-04-16 10:09:38

同学你好 初步发现是 vue-test-utils 的版本问题,另外一个同学使用这个版本也出现了其他问题,使用你的 版本 为 rc4,会出现这个问题,回退到课程使用的 2.0.0-beta.14 就没有问题了,这里先建议使用和课程一样的版本,目前看起来是 await 一个 input 的事件的时候,将 promise 顺便执行了,这不符合它们官网的预期。

张轩 2021-04-15 09:03:14

同学你好 可以把源代码提供给我一下 我帮你在本地调试试试

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师