Test axios HTTP responses using Jest snapshots
npm install jest-axios-snapshot> Test Axios responses using Jest snapshots





``sh`
npm install jest-axios-snapshot
Add the following to your Jest configuration:
`json`
{
"snapshotSerializers": ["jest-axios-snapshot"]
}
Now use an Axios response to match a Jest snapshot.
`js
import axios from 'axios';
it('should download example.com', async () => {
const response = await axios.get('https://example.com');
expect(response).toMatchSnapshot();
});
`
This was written with axios-test-instance and
inline snapshots in mind.
`ts
import { request, setTestApp } from 'axios-test-instance';
import { app } from './app';
beforeAll(async () => {
await setTestApp(app);
});
it('should get data', async () => {
const response = await request.get('/');
expect(response).tpMatchInlineSnapshot(
HTTP/1.1 200 OK
Connection: close
Content-Length: 17
Content-Type: application/json; charset=utf-8
{
"hello": "world"
}
);`
});
By default the Date header will be stripped. To set a custom response transformer, usesetResponseTransformer
`js
import { setResponseTransformer } from 'jest-axios-snapshot';
setResponseTransformer((response) => {
// Modify response
const { etag, ...headers } = response.headers;
return {
...response,
headers,
};
});
``