[英]Apollo-Graphql testing
我正在使用client.query()
方法从服务器查询。 我想使用 MockProvider 为这个功能编写测试。
由于client.query()
的异步性质,我面临问题
// I am writing the query as follow const { data, loading } = await client.query({ query: Todo, variables: { name }, fetchPolicy: 'cache-first' })
您可以使用MockProvider
和react-testing-library
来测试您的反应组件。 在此处阅读有关MockProvider
的更多信息。
尝试这个:
import { act, fireEvent, render } from '@testing-library/react' import { MockedProvider } from '@apollo/react-testing' import YourComponent from './path' const mocks = [ { request: { query: Todo, variables: { query: { name }, }, }, result: { data: { mockData_here }, }, }, ] test('it should...', () => { let rendered await act(async () => { rendered = render( <MockedProvider mocks={mocks} addTypename={false}> {YourComponent} </MockedProvider> ) }) expect(rendered).toMatchSnapshot() })
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.