【发布时间】:2018-08-13 18:31:13
【问题描述】:
axios-mock-adapter 是否仅适用于使用 axios 发出的请求?
我编写了一个 POST 到 API 的组件(使用 vanilla XHR,而不是 axios)。我正在 Storybook 中对其进行测试,并希望拦截那些 POST 请求,因为端点还不存在:
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 内?
谢谢。
【问题讨论】:
-
我认为 axios 模拟适配器不会拦截来自其他库的 ajax 调用。如果你想在 storybook 上使用 axios 和 mock api 调用,我写了一个小教程:medium.com/@rafaelrozon/mock-axios-storybook-72404b1d427b
标签: reactjs mocking axios storybook axios-mock-adapter