问题标签 [jest-mock-axios]
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.
reactjs - 如何在 React with Jest 中测试链式 API 调用?
我的 react/redux 应用程序中有一个保存工作流程,需要两个 API 调用。第二次调用仅在第一次调用成功完成后发生。该应用程序运行良好,我现在正在添加一些自动化的端到端测试。
我能够触发该onSave
函数并验证对 的调用saveRates
,但我无法在我的测试中触发第二个 API 调用。这是代码
这是测试代码。我在应用程序中使用 Axios 进行 API 调用,并jest-mock-axios
在我的测试中模拟 axios。
似乎第一次 API 调用的承诺saveRates
尚未解决。该mockResponse
调用解决了承诺,但是,使用开玩笑的调试器,我可以看到调用saveApplications
永远不会发生。
https://www.npmjs.com/package/jest-mock-axios#axiosmockresponseresponse-requestinfo
如何告诉 jest 等到下一个 API 调用发生?我需要从onSave
电话中返回承诺吗?
更新
这行得通......所以我怀疑它可以在await
某个地方解决。
javascript - JS Jest Mocking - 预期收到未定义的错误
我有axios
用于获取一些数据的代码。
这应该使用 Jest 框架进行测试。
测试失败
真实数据是:
我在想这可能是命名/未命名 JSON 数组的问题。如何解决?
reactjs - 使用 Jest 模拟 Axios 和模拟 Windows.Location.Assignment
一些 ReactJs 组件正在使用 Axios NPM 库来触发 Http Posts。使用 Axios 的帖子示例,我们有:
发布后,触发“then”以移动到下一页。
我们正在使用 Jest 和 Enzyme 对 Axios 功能进行单元测试。此外,我们已经成功地单独模拟了: - 使用 jest-mock-axios 的 Axios 帖子 - 使用 jest 模拟的 window.location.assign 方法。
但是,当在 Axios 模拟中触发“then”时,模拟的 window.location.assign 方法每次都会失败。
是否可以同时模拟 Axios 调用和 window.location.assign ?
我可以传入一个包装 window.location.assign 方法的方法,但这是不正确的。
javascript - 如何在模拟的 Jest 函数中使用 var 作为返回值?
我目前有这个代码...
当我尝试跑步时,我得到...
babel-plugin-jest-hoist: 的模块工厂
jest.mock()
不允许引用任何超出范围的变量。
我希望能够轻松更改响应对象而无需重置和移除。有没有好的方法来做到这一点?
node.js - Nodejs Jest 模拟在单个文件中的多个描述块中不起作用,它仅在第一个描述块中起作用
我在我的 node express 应用程序中使用 jest 进行单元测试,请原谅,因为我对这一切都不熟悉
在我的 abc.test.js
因此,当我在 test1 中运行此测试文件时,它返回测试已通过,但是在 test2 中,它返回预期的 >=1 返回 0。因为我在之前模拟它,所以我希望它应该为每个描述块返回 1
javascript - 如何检查函数是否在反应js中被调用?
我正在尝试test
我的服务有一个功能saveWithoutSubmit
我想检查success
或error
方法是否被调用?或被updateTaskListAfterFilter
称为与否?
我试过这样
https://codesandbox.io/s/ecstatic-currying-5q1b8
你能建议我如何测试async
方法或发布请求(使用mook数据)吗?
这样我的测试用例就会通过。我想检查我是否从承诺中获得了成功,我的成功方法将被称为 else 错误
任何更新 ?..!!
更新
javascript - UnhandledPromiseRejectionWarning:TypeError:测试环境被拆除后捕获错误
在运行测试时出错的发布请求图像中测试失败案例时获取错误
使用 Reactjs 框架版本 16
用于 api 请求的 axios-hooks
用于测试的反应测试库
UnhandledPromiseRejectionWarning:TypeError:测试环境被拆除后捕获错误
无法读取 null 的属性“nodeType”(节点:171) UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误源于在没有 catch 块的情况下抛出异步函数内部,或拒绝未使用 .catch() 处理的承诺。(拒绝编号:4)
测试代码
(代码经过测试)使用 axios 钩子发出请求然后发送错误到表单
unit-testing - 我对 axios 方法的测试用例说返回类型是匿名函数
要测试的方法是
测试文件是:
src/模拟/axios.js
收到的值:
预期:{“cardExpiryDate”:“2019-05-31T00:00:00.000Z”,“cardImage”:“ https://images.gyfthd.png ”,“cardIssueDate”:“2019 年 5 月 19 日星期日 15:43:25 GMT+0530(印度标准时间)”、“cardName”:“食品卡”、“cardPoints”:“321”、“cardShortDesc”:“30% OFF”、“id”:44、“isRedeemed”:false、“ receiverEmail": "abc@gmail.com", "senderEmail": "abc@gmail.com"}
收到:[功能匿名]
vue.js - 在 Jest 中测试 Global Vue.prototype.$http 方法,它在 Vue 中使用 axios
我在 main.js 的 Vue 项目中定义了一个全局原型,如下所示
各种 vue 组件直接调用this.$http.get
或this.$http.post
执行请求。我如何在 Jest 中测试这些组件,显然使用模拟我可以模拟我可以做
但是我的项目很大,将每个实例更改this.$http
为 axios 是不可行的。
如何使用jest.mock
?
另外如何测试单个组件是否在不同的端点上进行多个 API 调用?