reactjs - 由于调用 axios,无法用玩笑测试 React 组件
问题描述
我使用创建反应应用程序。我知道在测试组件时对 web api 进行异步调用不是一个好习惯,但我想这样做以检查 api 返回的所有数据是否正确。我不想嘲笑这个电话。我用 jest 和酵素进行测试,但我无法成功地用 axios 调用 api。我想这是由于测试的上下文,但我不知道如何设置东西以在测试模式下访问 xmlhttrequest。这是我的测试:
it('renders 10 results', (done) => {
const wrapper = mount(<UserSearchBox />);
const input = wrapper.find('.input-search');
input.simulate('change', { target: { value: 'julien'} });
setTimeout(async ()=>{
await wrapper.update();
console.log(wrapper.debug())
expect(wrapper.find('.results-search').find('ul').children()).toHaveLength(10);
done();
},1000);
解决方案
推荐阅读
- css - CSS列有水平间隙?
- kubernetes - Kubernetes 中的 DNSJava
- sql - SQL 计算列:使用条件聚合
- git - 如何获得合并提交给master?
- javascript - JS Firebase Auth 等待初始化而不清除 getRedirectResult() 的结果
- android - 使用 NavController 导航的片段标签名称
- javascript - 我正在尝试使用多个组件重新制作 Vuex 的入门项目,但无法弄清楚如何从组件调用根方法
- kubernetes - 在 Kubernetes 上正确设置 Datadog 日志摄取
- c++ - 如何在不强制转换每个参数的情况下删除初始化列表中从 int 到 char 的缩小转换?
- algorithm - 如何处理通过 Dijkstra 算法遍历的图中的“组合节点”?