Performance: Mocking data in tests
Mocking data in tests affects test execution speed and resource usage during development, not the live page load or rendering performance.
const mockData = { id: 1, name: 'Test' };
// In test
render(<Component data={mockData} />);import { fetchData } from '~/api'; // In test const data = await fetchData(); render(<Component data={data} />);
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Real API calls in tests | N/A | N/A | N/A | [X] Bad |
| Static mock data in tests | N/A | N/A | N/A | [OK] Good |
import { rest } from 'msw';
import { setupServer } from 'msw/node';
const server = setupServer(
rest.get('/api/greet', (req, res, ctx) => {
return res(ctx.json({ message: 'Hello' }));
})
);
beforeAll(() => server.listen());
afterAll(() => server.close());
// Test function
async function fetchGreeting() {
const response = await fetch('/api/greet');
const data = await response.json();
return data.message;
}
fetchGreeting().then(console.log);Pass the test and this pattern moves unknown