반응에서 axios로 비동기 작업을 테스트하는 방법은 무엇입니까? - 2 부

kob003

이것은 이전 질문 의 연속입니다 .

REGISTER_FAIL 케이스에 대한 테스트를 시도했습니다. 이것이 내가 한 일입니다.

test("should not register a  user", async () => {
  axios.mockRejectedValue({
    status: 500,
  });
  const userInfo = {
    name: "",
    email: "",
    password: "",
  };
  await store.dispatch(register(userInfo)).then(() => {
    expect(store.getActions()[0]).toEqual({
      type: REGISTER_FAIL,
      payload: {
        token: null,
        isAuthenticated: false,
        loading: true,
        // user: null,
      },
    });
  });
});

이 오류가 발생합니다. 여기에 이미지 설명 입력

tmhao2005

나는 문제가 된 공유 store사용하여 문제를 추측하고 있습니다. 각 테스트마다 별도의 상점을 제안합니다. 아이디어는 다음과 같습니다.

/** mock-store */
const createMockStore = configureMockStore([thunk]);

// Create a store maker to create store for each test
const storeMaker = () => {
  const defaultState = [];
  const store = createMockStore(defaultState);

  return store;
}

/** reset mock */
afterEach(() => jest.resetAllMocks());

test("should register a user ", async () => {
  // Run to create at each test
  const store = storeMaker();

  axios.mockImplementation(() => {
    return Promise.resolve({
      status: 200,
      data: {
        token: "testToken",
      },
    });
  });
  
  // const res = await axios.post("/api/users");
  // console.log(res.body);

  const testUser = {
    name: "testName",
    email: "[email protected]",
    password: "testPassword",
  };
  await store.dispatch(register(testUser)).then(() => {
    expect(store.getActions()[0]).toEqual({
      type: REGISTER_SUCCESS,
      payload: {
        token: "testToken",
        isAuthenticated: true,
        loading: false,
      },
    });
  });
});

test("should not register a  user", async () => {
  // Likewise above
  const store = storeMaker();

  axios.mockRejectedValue({
    status: 500,
  });
  const userInfo = {
    name: "",
    email: "",
    password: "",
  };
  await store.dispatch(register(userInfo)).then(() => {
    expect(store.getActions()[0]).toEqual({
      type: REGISTER_FAIL,
      payload: {
        token: null,
        isAuthenticated: false,
        loading: true,
        // user: null,
      },
    });
  });
});

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

반응에서 axios로 비동기 작업을 테스트하는 방법은 무엇입니까?

분류에서Dev

pyiron에서 일부 작업을 다른 프로젝트로 이동하는 방법은 무엇입니까?

분류에서Dev

Kestrel 프로세스에서 매일 비동기 작업을 실행하는 방법은 무엇입니까?

분류에서Dev

반응 탐색에서 조건부로 탭을 숨기는 방법은 무엇입니까?

분류에서Dev

Android에서 retrofit 2의 응답으로 부울 만 반환하는 API에 대한 API 호출을 작성하는 방법은 무엇입니까?

분류에서Dev

Node.js로 while 루프 내에서 비동기 작업을 처리하는 방법은 무엇입니까?

분류에서Dev

Rails에서 Controller.destroy 작업을 비동기 적으로 수행하는 방법은 무엇입니까?

분류에서Dev

Silverlight에서 여러 UI 작업을 비동기 적으로 실행하는 방법은 무엇입니까?

분류에서Dev

cmpss 출력 (부동 소수점 비교)을 기반으로 점프하는 방법은 무엇입니까?

분류에서Dev

테스트 기능을 외부에서 컴포넌트로 가져 오는 방법은 무엇입니까?

분류에서Dev

테스트 코드를 반복하지 않고 프로그래밍 방식으로 UI 작업 / 활동을 테스트하는 방법은 무엇입니까?

분류에서Dev

반응 형 앵귤러 2의 다른 formControl 값에서 자동으로 formControl 값을 업데이트하는 방법은 무엇입니까?

분류에서Dev

NUnit에서이 뷰 모델의 비동기 동작을 테스트하는 방법은 무엇입니까?

분류에서Dev

부모 테이블을 기반으로 자식 테이블의 열 값을 자동 업데이트하는 방법은 무엇입니까?

분류에서Dev

사용자가 webapp의 루트에 액세스 할 때 Struts2에서 작업을 자동으로 트리거하는 방법은 무엇입니까?

분류에서Dev

Rails :이 외부 서비스 호출을 스텁하고 테스트하는 방법은 무엇입니까?

분류에서Dev

부트 스트랩 반응 형 : 행의 열을 작은 장치로만 행으로 이동하는 방법은 무엇입니까?

분류에서Dev

F # : 다른 프로젝트에서 내부 모듈을 테스트하는 방법은 무엇입니까?

분류에서Dev

Git에서 비어있는 단일 부모 커밋을 테스트하는 방법은 무엇입니까?

분류에서Dev

for 루프에서 부트 스트랩 행을 동적으로 처리하는 방법은 무엇입니까?

분류에서Dev

부팅하는 동안 데비안에서 GRUB 2 시작 화면을 숨기는 방법은 무엇입니까?

분류에서Dev

JavaScript 테이블의 셀을 서로 비교하고 동등성을 테스트하는 방법은 무엇입니까? indexOf는 어떻게 작동합니까?

분류에서Dev

일부 기능을 잃지 않고 Angular 2 프로젝트에서 DOM 조작을 실제로 수행하는 방법은 무엇입니까?

분류에서Dev

여러 마이크로 서비스 작업을 관리하고 개발 (테스트 아님) 환경에서 조롱하는 방법은 무엇입니까?

분류에서Dev

CLI에서 외부 프로그램을 비동기 적으로 시작하고 출력을 버리는 방법은 무엇입니까?

분류에서Dev

github 작업을 로컬에서 테스트하기 위해 내 자신의 github 이벤트 페이로드 json을 얻는 방법은 무엇입니까?

분류에서Dev

후크로 리덕스 반응에서 Axios 요청을 취소하는 방법은 무엇입니까?

분류에서Dev

반응 앱 경로에서 조건부 리디렉션을 처리하는 방법은 무엇입니까?

분류에서Dev

부팅 / 다운시 hadoop 서비스를 수동으로 시작 / 중지하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    반응에서 axios로 비동기 작업을 테스트하는 방법은 무엇입니까?

  2. 2

    pyiron에서 일부 작업을 다른 프로젝트로 이동하는 방법은 무엇입니까?

  3. 3

    Kestrel 프로세스에서 매일 비동기 작업을 실행하는 방법은 무엇입니까?

  4. 4

    반응 탐색에서 조건부로 탭을 숨기는 방법은 무엇입니까?

  5. 5

    Android에서 retrofit 2의 응답으로 부울 만 반환하는 API에 대한 API 호출을 작성하는 방법은 무엇입니까?

  6. 6

    Node.js로 while 루프 내에서 비동기 작업을 처리하는 방법은 무엇입니까?

  7. 7

    Rails에서 Controller.destroy 작업을 비동기 적으로 수행하는 방법은 무엇입니까?

  8. 8

    Silverlight에서 여러 UI 작업을 비동기 적으로 실행하는 방법은 무엇입니까?

  9. 9

    cmpss 출력 (부동 소수점 비교)을 기반으로 점프하는 방법은 무엇입니까?

  10. 10

    테스트 기능을 외부에서 컴포넌트로 가져 오는 방법은 무엇입니까?

  11. 11

    테스트 코드를 반복하지 않고 프로그래밍 방식으로 UI 작업 / 활동을 테스트하는 방법은 무엇입니까?

  12. 12

    반응 형 앵귤러 2의 다른 formControl 값에서 자동으로 formControl 값을 업데이트하는 방법은 무엇입니까?

  13. 13

    NUnit에서이 뷰 모델의 비동기 동작을 테스트하는 방법은 무엇입니까?

  14. 14

    부모 테이블을 기반으로 자식 테이블의 열 값을 자동 업데이트하는 방법은 무엇입니까?

  15. 15

    사용자가 webapp의 루트에 액세스 할 때 Struts2에서 작업을 자동으로 트리거하는 방법은 무엇입니까?

  16. 16

    Rails :이 외부 서비스 호출을 스텁하고 테스트하는 방법은 무엇입니까?

  17. 17

    부트 스트랩 반응 형 : 행의 열을 작은 장치로만 행으로 이동하는 방법은 무엇입니까?

  18. 18

    F # : 다른 프로젝트에서 내부 모듈을 테스트하는 방법은 무엇입니까?

  19. 19

    Git에서 비어있는 단일 부모 커밋을 테스트하는 방법은 무엇입니까?

  20. 20

    for 루프에서 부트 스트랩 행을 동적으로 처리하는 방법은 무엇입니까?

  21. 21

    부팅하는 동안 데비안에서 GRUB 2 시작 화면을 숨기는 방법은 무엇입니까?

  22. 22

    JavaScript 테이블의 셀을 서로 비교하고 동등성을 테스트하는 방법은 무엇입니까? indexOf는 어떻게 작동합니까?

  23. 23

    일부 기능을 잃지 않고 Angular 2 프로젝트에서 DOM 조작을 실제로 수행하는 방법은 무엇입니까?

  24. 24

    여러 마이크로 서비스 작업을 관리하고 개발 (테스트 아님) 환경에서 조롱하는 방법은 무엇입니까?

  25. 25

    CLI에서 외부 프로그램을 비동기 적으로 시작하고 출력을 버리는 방법은 무엇입니까?

  26. 26

    github 작업을 로컬에서 테스트하기 위해 내 자신의 github 이벤트 페이로드 json을 얻는 방법은 무엇입니까?

  27. 27

    후크로 리덕스 반응에서 Axios 요청을 취소하는 방법은 무엇입니까?

  28. 28

    반응 앱 경로에서 조건부 리디렉션을 처리하는 방법은 무엇입니까?

  29. 29

    부팅 / 다운시 hadoop 서비스를 수동으로 시작 / 중지하는 방법은 무엇입니까?

뜨겁다태그

보관