Comments (8)
If you're using this library don't mock axios, mock this library via jest
from axios-hooks.
@LiaoJimmy @lmiguelvargasf @tgfischer mocking this library with jest is as easy as:
import useAxios from 'axios-hooks'
jest.mock('axios-hooks')
// in your test
useAxios.mockReturnValue([{ data: { ... } }])
from axios-hooks.
@KristianLonergan in the same way as you would mock a function which is called multiple times, see here.
I appreciate this is not ideal so I'll be looking into #218 that's been opened a few days ago. But, there are ways to mock this easily already.
from axios-hooks.
Just to throw out there, and it is not mutally exclusive with #218 ...
I really appreciate this library, and I had some more complicated mocking scenarios that required several useAxios hooks to be used with each other, relying on one another. The ordered mocking method above falls down when firing off items in random order and such.
So, I created a library to handle every scenario I (and the rest of my company) needed, and you all are free to use it as well: https://www.npmjs.com/package/axios-hooks-mock
It's an implementation that should work well for both simple and complex scenarios and abstracts most of the testing boilerplate away.
Tagging @simoneb just to let him know.
from axios-hooks.
Thanks. I'll try to mock axios-hooks response array.
from axios-hooks.
@LiaoJimmy , how does your code looks after mocking axios-hooks
response?
from axios-hooks.
@LiaoJimmy , how does your code looks after mocking
axios-hooks
response?
I think mock axios-hooks
response is not a good solution.
For mock API response, we have better choice like Mirage JS (https://miragejs.com/).
It has many features and better developer experience.
from axios-hooks.
@simoneb how would you go about mocking axios-hooks when you have multiple instances of useAxios within a file?
For example:
const [{ data: booksData, loading: booksLoading }] = useAxios('/books');
const [{ data: addBookData, loading: addBookLoading }] = useAxios({url: '/addBook', method: 'POST'}, {manual: true});
from axios-hooks.
Related Issues (20)
- Release pending!
- Refetch "expression is not callable" HOT 2
- Why I'm getting 2 rendered using this hook, when component mounts? HOT 9
- Release pending!
- Prevent CanceledError and redundant HTTP calls for identical request data HOT 1
- Support for API polling HOT 1
- type error HOT 9
- Uncaught TypeError: object is not iterable (cannot read property Symbol(Symbol.iterator)) HOT 1
- How to configure SSR with NextJS? HOT 3
- "Uncaught runtime errors: Cannot read properties of undefined (reading 'data')" after upgrading to CRA 5.0.1 & Node 18 HOT 6
- Not usable within the US? HOT 1
- Error from a dynamically loaded uri HOT 3
- Release pending!
- Release pending!
- useAxios hook sending in 2 requests, the first is cancelled immediately HOT 3
- Release pending! HOT 3
- Release pending!
- Release pending!
- Type error: MouseEvent using refetch and provided example from docs HOT 2
- Still an issue with both `executeGet` and `execute` methods when executed manually HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from axios-hooks.