인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

FEZ님의 프로필 이미지
FEZ

작성한 질문수

따라하며 배우는 리액트 테스트 [2023.11 업데이트]

test 여러 개 실행 - fail 발생

작성

·

244

0

안녕하세요. 강의 잘 듣고 있습니다. 강의 듣는 중 질문이 있어 질문남깁니다.

react-shop-test > src > pages > OrderPage > tests > calculate.test.js

파일을 그대로 복사하고 test.only 부분을 test로 바꾼 후 전체 테스트 돌렸습니다.

 

 ● total price of goods and options › total price starts with 0 and Updating total price when adding one product 
Expected element to have text content:
      1000
    Received:
      Total Price: 1500

total price starts with 0 and Updating total price when adding one product에서 위와 같이 금액이 맞지 않는 테스트 fail이 발생하는데 원인을 알 수 있을까요..? ( 나머지는 다 통과합니다. )

 test("total price starts with 0 and Updating total price when adding one product", async () => {
        render(<OrderPage />);

        const total = screen.getByText("Total Price:", {exact: false});
        expect(total).toHaveTextContent("0");

        const americaInput = await screen.findByRole("spinbutton", {
            name: "America",
        });
        userEvent.clear(americaInput);
        userEvent.type(americaInput, "1");

        expect(total).toHaveTextContent("1000");
    });

테스트코드는 이와 같습니다. america 하나를 했으니 1000원이 나와야 올바른 결과일 것 같은데 1500인 결과가 나와 fail 이 납니다. 나머지 테스트케이스에선 발생하지 않아 계산 로직이 잘못된 것 같진 않습니다.

test를 여러 개 한꺼번에 실행하면 안되는건가요?

뭔가 앞의 결과가 남아있어서 값의 오류가 발생하는 것 같아서요.

테스트를 할 때 .only를 붙여 하나씩만 실행해야 하는건가요..?

그렇다면 여러 개의 테스트를 동시에 실행하고 싶을 때는 어떻게 할 수 있을까요? 각 테스트를 파일 분리하여 작성해야 하나요?

답변 1

0

John Ahn님의 프로필 이미지
John Ahn
지식공유자

안녕하세요!!

테스트를 여러 개 한꺼번에 해도 1000원으로 결과가 나와야 합니다.
image
이런 식으로 요 ~

아마 코드 쪽에 오타가 있지 않나 싶습니다 ~

감사합니다.

FEZ님의 프로필 이미지
FEZ

작성한 질문수

질문하기