findBy
- 适用于获取异步操作得到的elemet
const element = await findByText('Element');
expect(element).toBeInTheDocument
waitFor
- 验证异步之后发生变化的内容
// 异步改变name
<p data-testid="name">{test.state.name}</p>
// 验证
await waitFor(() => expect(getByTestId('name').textContent).toBe('123'));
axios / fetch
- 通过jest.mock与jest.fn对axios和fetch进行mock
- axios
jest.mock('axios'); axios.get.mockImplementationOnce(() => Promise.resolve({data: { name: 'testName', age: 20}}) );- fetch
window.fetch = jest.fn(); fetch.mockResolvedValueOnce({ json: async() => ({ name: 'testName', age: 20 }) })