Skip to content
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] Cypress 테스트케이스 #772 #784

Merged
merged 19 commits into from
May 23, 2023
Merged

Conversation

42sungwook
Copy link
Contributor

@42sungwook 42sungwook commented May 22, 2023

📌 개요

  • cypress 크롤링을 이용한 게임/매치/헤더/프로필 테스트 케이스 추가

💻 작업사항

  • Game
    1. HOME에서 게임 컴포넌트 랜더링 확인
    2. 게임 페이지 이동 및 컴포넌트 렌더링 확인
    3. 유저 검색 확인
    4. Live 상태 컴포넌트 랜더링 확인
  • Header
    1. 햄버거 버튼 랜더링 테스트
    2. 햄버거 버튼 기능 테스트
    3. Noti 기능 테스트
    4. 페이지 이동 테스트
    5. 햄버거 버튼 랜더링 테스트
  • Match
    1. 일반전 매칭과 패널티 테스트
    2. 랭크전 매칭 테스트
    3. 게임 결과 입력 테스트
    4. 경기 기록 테스트
  • Profile
    1. 페이지 이동 및 이름 랜더링 확인
    2. 프로필 edit 취소 기능 확인
    3. 프로필 edit 기능 확인 - 알림
    4. 프로필 edit 기능 확인 - 상태메시지
    5. 프로필 edit 기능 확인 - 라켓 변경
    6. 시즌 api 호출 테스트
    7. 경기 기록 api 확인

테스트 실행 방법

  1. cypress.config.ts 파일 형식에 맞게 수정
 import { defineConfig } from 'cypress';

export default defineConfig({
  e2e: {
    setupNodeEvents(on, config) {
      // implement node event listeners here
    },
  },
  env: {
    HOME: 'http://localhost:3000/',
    SERVER_ENDPOINT: '',
    NORMAL_USERNAME: '',
    NORMAL_PASSWORD: '',
    ADMIN_USERNAME: '',
    ADMIN_PASSWORD: '',
    GAME_SLOT_TIME: 12000,
    GAME_PENALTY_TIME: 120,
  },
});
  1. npm run dev
  2. 새로운 터미널에서 npx cypress open
  3. cypress 창에서 원하는 테스트 실행

✅ 변경로직

@42sungwook 42sungwook requested review from a team and mike2ox and removed request for a team May 22, 2023 10:50
Copy link
Member

@yoouyeon yoouyeon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

수고하셨습니다 👍

Comment on lines +110 to +114
if (intraId1 === userId || intraId2 === userId) {
return;
} else {
throw new Error('일치하는 유저 아이디가 없습니다');
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

여기서부터는 cy.should 말고 Error 로 처리하신 이유가 궁금합니다! 테스트를 바로 중단하기 위해서인가요??

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should를 써도 바로 중단되지 않나요?? 어차피 중단될거라면 Error 문구를 띄우는게 좋다고 생각했어요

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

제가 알기론 should는 타임아웃 전까지 재시도하고 Error는 재시도 없이 바로 끝내버리는데, should 쓰시다가 아래에선 Error로 바꾸셨길래 뭔가 의도가 있으신건지 궁금해서 여쭤봤습니다 :) 테스트 결과는 문제없이 잘 나오니 어떻게 처리하든 괜찮은 것 같습니다👍

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cy.should는 컴포넌트 안에 무언가 있을 때 비교하는데 위에서는 두 컴포넌트 중 한개라도 유저의 아이디를 가지고 있는지 찾는 케이스여서 should로는 원하는 비교를 못하긴 했어요!

@42sungwook 42sungwook merged commit 681a4bd into main May 23, 2023
@42sungwook 42sungwook deleted the Test/add-cypress-test-#772 branch May 23, 2023 10:31
@yoouyeon yoouyeon linked an issue Jun 28, 2023 that may be closed by this pull request
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Others] Cypress를 이용한 테스트 추가
2 participants