-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
test: 모든 리뷰 페이지 e2e 테스트코드 작성 #219
Conversation
@@ -4,6 +4,8 @@ export async function register() { | |||
process.env.NEXT_RUNTIME === 'nodejs' | |||
) { | |||
const { server } = await import('./msw/server'); | |||
server.listen(); | |||
server.listen({ | |||
onUnhandledRequest: 'bypass', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
msw 서버 실행 시, 모킹하지 않은 request에 대한 경고 콘솔을 출력하지 않도록 설정
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
아직 문법을 잘 몰라서 익숙하지 않은데 잘 참고해보도록 하겠습니다!
await page.goto('/reviews', { waitUntil: 'networkidle' }); | ||
|
||
test.slow(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
오 신기하네요!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
참고 많이 하겠습니다! LGTM!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
뭔가 예전 수업시간에 배웠던 cypress 문법하고 비슷한 것 같네요...!
세팅부터 첫 테스트코드 작성까지 너무 고생하셨습니다..!
👍👍
✏️ 작업 내용
페이지 로드 시 정보 확인
<h2>모든 리뷰</h2>
가 존재하는지 확인tab, chip 클릭 시 Score 데이터 변경 확인 (모킹된 데이터)
지역 필터링 확인 (목데이터는 전부 건대입구 이기 때문에, 건대입구 필터링 시 10개, 다른 아이템은 0개가 되어야 함)
무한스크롤 테스트
리뷰 아이템 클릭 시
📷 스크린샷
✍️ 사용법
꿀팁 ! Codegen 사용하기
2개의 터미널을 열어 각각
npx playwright codegen
,npm run dev:test
를 실행합니다.(
dev:test
스크립트로 msw 환경을 실행, codegen 브라우저로 이를 확인)playwright 로 테스트 작성 시 locator(선택자) 가 명확한 것이 중요합니다.
codegen을 통하여 원하는 요소의 선택자를 찾아내거나, 내가 쓴 선택자가 원하는대로 요소를 바라보는지 검증할 수 있습니다.
🎸 기타
playwright 에서 어떤 expect 시에 사용되는 메소드 (Assertions) 는 자동으로 재시도 하는 것과 재시도를 하지 않는 것이 있습니다.
자동으로 재시도 하는 Assertions은 테스트가 통과하거나, 타임아웃 될 때까지 계속해서 재시도하며, 비동기적이므로
await
을 사용합니다. Assertions의 종류는 공식문서 를 참고하세요.close #181