복붙노트

[REACTJS] 농담 모의 비동기 호출은 내부의 구성 요소에 반응

REACTJS

농담 모의 비동기 호출은 내부의 구성 요소에 반응

해결법


  1. 1.테스트 두 가지 문제가있다. 먼저 다음과 같이 AdminApiClient을 조롱하지 못할. getItems.mockImplementation은 아무런 효과가 없다거나 오류가 발생 있도록 jest.mock, 그냥 정의되지 않은과 모듈을 교체합니다. 또한 원래 하나를 사용할 필요가 없습니다. 당신이 소품을 통해 인수로 전달할으로 당신은 단지 시험 모의 오른쪽에서 만들 수 있습니다. 당신이 약속을 작업하는 경우 둘째, 당신도 테스트 또는 사용으로 약속을 반환해야 비동기 / await를 (문서) :

    테스트 두 가지 문제가있다. 먼저 다음과 같이 AdminApiClient을 조롱하지 못할. getItems.mockImplementation은 아무런 효과가 없다거나 오류가 발생 있도록 jest.mock, 그냥 정의되지 않은과 모듈을 교체합니다. 또한 원래 하나를 사용할 필요가 없습니다. 당신이 소품을 통해 인수로 전달할으로 당신은 단지 시험 모의 오른쪽에서 만들 수 있습니다. 당신이 약속을 작업하는 경우 둘째, 당신도 테스트 또는 사용으로 약속을 반환해야 비동기 / await를 (문서) :

    it('', async() = > {
      const expectedItems = [{ id: 1 }, { id: 2 }];
      const p = Promise.resolve(expectedItems)
      AdminApiClient = {
        getItems: () = > p
      }
      const wrapper = mount(
        <Create adminApi={AdminApiClient} />
      );
      await p
      expect(wrapper.state().items).toBe(expectedItems);
    })
    
  2. from https://stackoverflow.com/questions/42638889/jest-mock-async-calls-inside-react-component by cc-by-sa and MIT license