[英]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.