inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Front-end testing áp dụng trực tiếp vào thực tế - Phần 2. Thử nghiệm sâu hơn: Hồi quy trực quan/Thử nghiệm E2E

5.1. Các lệnh và truy vấn tùy chỉnh

Retry-ability와 커스텀 커맨드, 커스텀 쿼리 질문

Đã giải quyết

200

mega

17 câu hỏi đã được viết

0

안녕하세요 선생님 강의 잘 듣고 있습니다.


이번 강의에서 질문이 있습니다!
1. 커스텀 쿼리도 Retry-ability 지원되고 커스텀 쿼리 안에 커맨드도 Retry-ability가 지원되면 n의 m제곱 번의 재시도가 발생하는 것일까요?
2. 커스텀 커맨드와 커스텀 쿼리 중에 뭘 사용할 것인지는 Retry-ability 지원 유무와 체이닝을 기준으로 선택하면 될까요?
예시코드를 봤을 때 getCardButton와getProductCardByIndex 둘 다 DOM 요소를 조회해서 subject를 리턴하여 체이닝을 통해 후속 작업을 하는 것처럼 보이는데 왜 getProductCardByIndex는 커스텀 커맨드로 작성하는지 잘 모르겠습니다..

javascript tdd 소프트웨어-테스트 vitest e2e chromatic

Câu trả lời 1

1

hanjungv

안녕하세요 메가님! 답이 조금 늦었네요 ㅠㅠ 죄송합니다.

1. 커스텀 쿼리도 Retry-ability 지원되고 커스텀 쿼리 안에 커맨드도 Retry-ability가 지원되면 n의 m제곱 번의 재시도가 발생하는 것일까요?

이 부분은 실제 구현을 참고해봐야 할 것 같은데요. 제가 구현을 했다고 가정을 하고 감히 추측을 해보면, n의 m승으로 재시도가 발생하는 경우 그렇게 재시도 시기의 검증 효용이 없다고 판단하고(적다 보니 아닌 경우도 있을 수 있을 것 같네요) 최적화를 했을 것 같은데 cypress측에 문의를 해봐야 할 것 같네요 ㅎㅎ

https://github.com/cypress-io/cypress/issues

요기에 문의를 진행해보시면 어떨까 싶습니다!


2. 커스텀 커맨드와 커스텀 쿼리 중에 뭘 사용할 것인지는 Retry-ability 지원 유무와 체이닝을 기준으로 선택하면 될까요?
예시코드를 봤을 때 getCardButton와getProductCardByIndex 둘 다 DOM 요소를 조회해서 subject를 리턴하여 체이닝을 통해 후속 작업을 하는 것처럼 보이는데 왜 getProductCardByIndex는 커스텀 커맨드로 작성하는지 잘 모르겠습니다..

말씀해주신대로 Query가 붙은 API와 안붙은 API의 가장 큰 차이는 retry-ability지원 여부입니다.

Query가 붙은 API는 동기 방식으로 동작하며 이전까지 체이닝으로 사용한 커맨드의 subject 결과를 받아 사용합니다. 그리고 체이닝으로 연결된 코드를 일정 시간동안 재시도합니다.

(https://docs.cypress.io/api/cypress-api/custom-queries)

반대로 Query가 붙지 않은 커스텀 커맨드는 비동기로 동작할 수 있으며, 특별한 설정을 하지 않으면 이전의 subject를 이어 받아 사용하지도 않습니다.

또한 내부적으로 재시도를 실행하지 않고 단 한번만 실행합니다.

예시의 경우 아마 강의 특성상 여러 방법이 있다고 소개를 드리려고 하다보니 직접적이게 와닿는 예시가 아닐 수 있는데요. 이 부분은 죄송합니다.

목적에 맞게 선택해 구현한 뒤 사용하면 됩니다.

고정댓글

0

18

1

10월 15일 삭제예정 강의 문의

0

35

1

강의제목에 10/15일 삭제라고 나와있는데,

0

46

1

스크립트 영상 미일치

0

74

3

감정일기장 다이어리 필터 적용할때 컨텍스트를 Home에서 가져오는 특별한 이유가 궁금합니다.

0

54

2

tdd green agent 에서 문의 드립니다.

0

52

2

강의 설명 중에 헷갈리는 것이 있네요

0

50

1

수업자료 관련 문의

0

65

3

1강 동영상 재생 오류

1

67

2

Composition단계에서 `Layer`는 누가 만드는지

0

44

1

Strict Mode 예시 질문!

0

58

2

수업이 안보여요

0

62

1

저자 블로그에 있는 강의는 어떤 강의인가요?

1

62

1

[해결됨]윈도우즈 환경에서 타입 스크립트 파일이 실행이 안됩니다.

1

86

5

4강 카드뉴스 자동화 자료가 안보입니다!!

0

106

2

윈도우즈 환경에서 진행중입니다.

0

63

2

AvailableUsers

0

85

1

storybook/ addon react-router-dom

0

104

1

e2e 테스트 CI , 서버비용

0

126

1

브랜치 git clone 질문

0

179

1

unit-test-example 브랜치에서 'Test result not found.' 가 뜹니다...

0

219

1

4.3 테스트 질문 입니다

0

230

1

5.2 테스트에서 상품 이름 사용, 로그인 세션 질문

1

278

1

5.3 cy.intercept 질문

0

228

1