- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有 Redux 和 Jest 的 create-react-app 用于测试。我正在使用 fetch 从 Action 创建者发出 API 请求。在编写测试时,我发现无论出于何种原因——无论如何我都在尝试模拟这个请求——它仍在尝试向 API 发出实际请求并收到网络连接错误(所以我从请求中获取了每个测试时间)。可能值得一提的是,这在浏览器中运行良好。
import fetch from 'isomorphic-fetch';
import { SUBMIT_SUCCESS, EMPLOYEE_DETAILS, ERROR } from './actionTypes';
import { API_URL } from '../../Constants';
export function getEmployeeDetails(id) {
return async dispatch => {
try {
let payload = await (await fetch(`${API_URL}/users/${id}`, {
method: 'GET',
headers: { jwt: localStorage.getItem('jwt') },
})).json();
dispatch(getEmployeeDetailsSuccess(payload.user));
} catch (err) {
dispatch(errorCatch(err));
}
};
}
我试过了 - https://medium.com/@ferrannp/unit-testing-with-jest-redux-async-actions-fetch-9054ca28cdcd
基本上花了几天时间来尝试解决这个问题。
我做错了什么?是否有机会获得有关如何测试此操作的工作示例?
谢谢!
最佳答案
你到底想测试什么?对于模拟 fetch
,有类似 fetch-mock 的东西但也许您也可以重构您的代码,使其不直接依赖于 fetch
工作。
例如,要检查是否派发了正确的操作,您可以使用以下内容:
export function getEmployeeDetails(fetcher, id) {
return async dispatch => {
let payload = await fetcher(id);
if (/* payload is good */) {
dispatch(getEmployeeDetailsSuccess(payload.user));
}
else {
dispatch(errorCatch(err))
}
};
}
现在您可以通过传入一个返回好/坏负载的函数来测试您的方法,并且 make sure that the right actions are dispatched .在普通代码中,您可以像以前一样使用 fetch
,但传递处理该逻辑的函数,而不是直接将其包含在 Action 创建者中。
关于reactjs - 如何使用获取 API 请求测试 Action 创建者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47043654/
Android 中的 Activity Creator 是什么? 最佳答案 activityCreator 是用于创建 Android 项目的批处理文件和 shell 脚本。这早已被 android
我正在使用最新的 Qt SDK (2.4.0) 并且在让 Visual Studio 2008 CDB 正常工作时遇到问题。我遇到了以下两个我认为相关的问题 我有一个失败的断言。当该断言失败时,我会看
源代码 索引.js import React from 'react'; import ReactDOM from 'react-dom'; import App from './App'; impo
我使用 Wifimanager addNetwork() 添加三个配置,然后我想删除这些。 如何获取我的应用创建的配置。 最佳答案 如果我没看错,您需要从您的应用中删除这些添加的 WiFi。 使用 W
我一定是遗漏了一个带有标题和包含的基本概念,因为当我尝试从单独的源文件中调用最简单的函数时,我得到一个错误: main.obj:-1: error: LNK2019: unresolved exter
我想用我用 Qt creator 创建的 Qt 应用程序部署一个崩溃处理程序。经过一番摸索,谷歌的 Breakpd 似乎会完全按照我的需要做,但是关于这方面的教程很简单。因此,我有许多问题希望能得到解
我有一个 Action 创建器,我应该如何用 jest 测试它?问题是,我什至无法进入 Api 函数,这就是为什么我无法获得 LOGIN_SUCCESS,当我检查 store.getState() 时
我有两个计数器:COUNTER_1 和 COUNTER_2。所以我创建了多个 reducer 来处理它们。 export default (state = 0, action) => { switch
如何检查在 Emacs 中创建缓冲区的人的身份,然后再检查是否是同一用户访问该缓冲区?我的意思是“我是谁?”在 Unix 命令中.. 然后检查同一用户是否正在访问该文档? --> 我想要在我自己的代码
如果我有一个包含 5 行和 4 列的表。但我必须在下一行添加值。没有与数据库相关的依赖项。我有 ADD 按钮,我想像每次单击时一样对其进行编码ADD 按钮有新行的添加......我的意思是表中行的创建
我正在尝试制作一个简单的对话框来显示我的名字。看代码。 Pessoa *p = new Pessoa("Ronald Araújo", "ronald.araujo@live.com", 23); Q
我有一些模型,它们之间有 has_many 和 belongs_to 关联,如下所示: class Customer Customer instance end end end 也就是说
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: Getting / setting file owner in C# 我搜索了 Internet 但没有找到
我在测试一个 Action 创建者时遇到麻烦,该 Action 创建者只是循环遍历传递给它的数组,并为该数组中的每个项目分配一个 Action 。这很简单,我似乎无法弄清楚。这是 Action 创建者
我使用 redux 和 redux-thunk 来执行异步操作。 在我的组件中,我有以下代码 class Counter extends Component { componentDidMou
假设我有一个 REST API 来编辑用户配置文件。这里涉及到两种方法 一种更新用户个人资料的方法; 获取当前配置文件的完成分数的方法。 当然,当用户更新他的个人资料时,我想获取完成分数。 这是我(天
我有一个 react 组件,我想在 redux 中设置一些状态,当设置状态时,我想在组件中做一些其他的事情。 // Inside Component onButtnClick() {
我有一个带有 Redux 和 Jest 的 create-react-app 用于测试。我正在使用 fetch 从 Action 创建者发出 API 请求。在编写测试时,我发现无论出于何种原因——无论
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
所以我有一个在 QT Creator 中设计的 GUI。 因为我必须添加一个 createWindowContainer 小部件,所以我必须通过 C++ 将一个小部件添加到我的代码中。我正在添加一个简
我是一名优秀的程序员,十分优秀!