首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自Storybook的模拟api调用

来自Storybook的模拟api调用
EN

Stack Overflow用户
提问于 2018-03-06 08:39:58
回答 5查看 11.3K关注 0票数 15

axios-mock-adapter是否只对使用axios发出的请求起作用

我已经编写了一个组件,用于POST到API (使用vanilla XHR,而不是axios)。我正在Storybook中测试它,并想截获那些POST请求,因为端点还不存在:

代码语言:javascript
复制
import React from "react"
import { storiesOf } from "@kadira/storybook"
import MyComponent from "./MyComponent"
import axios from "axios"
import MockAdapter from "axios-mock-adapter"

var mock = new MockAdapter(axios)

storiesOf("My Component", module).addWithInfo(
  "Simulator",
  () => {
    mock.onPost().reply(500)
    return <MyComponent />
  },
  {}
)

我的组件仍在尝试访问API端点,而我得到的是404响应,而不是预期的500响应。

axios-mock-adapter是否只对使用axios发出的请求起作用?mock调用必须在MyComponent内部吗

谢谢。

EN

回答 5

Stack Overflow用户

发布于 2019-02-07 21:47:04

xhr-mock应该适用于您可能不想通过internet发出请求的本地测试。

在测试之外,如果您正在等待构建真正的端点,您可以在开发中使用模拟/它(https://mockit.io)。您可以声明您自己的专用子域,并在稍后将其交换为真正的子域。免责声明:这是我最近发布的一个次要项目,希望得到任何反馈!

票数 4
EN

Stack Overflow用户

发布于 2018-09-20 16:39:30

您可以使用xhr-mock而不是axios-mock-adapter。

模拟XMLHttpRequest的

实用程序。

非常适合测试。当你的后端还在构建的时候,这对于原型开发来说是很棒的。

适用于NodeJS和浏览器。与Axios、jQuery、Superagent >兼容,也可能与构建在XMLHttpRequest上的其他库兼容

代码语言:javascript
复制
import mock from 'xhr-mock';

storiesOf("My Component", module).addWithInfo("Simulator",
() => {

    mock.post('', {
      status: 500,
      body: '{}'
    });

    return <MyComponent />
    },
    {}
)

另外,你需要在预览头.html文件中添加jquery脚本

1) https://www.npmjs.com/package/xhr-mock

票数 2
EN

Stack Overflow用户

发布于 2019-05-30 01:47:13

我已经开始使用json-server来拦截API调用。你必须在一个选项卡中启动它,在另一个选项卡中启动storybook,但这是相当酷的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49121699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档