Cypress

테스트 코드 cypress를 공부해보자
강석우's avatar
Feb 20, 2024
Cypress

cypress 설치

아래 명령어로 설치해준다.

yarn add --dev cypress

npm install cypress --save-dev

설치 후 pakage.json 의 실행 명령어에 아래와 같이 cypress를 추가해준다.

그러면 cypress 라는 폴더가 생성 되었을 텐데 typescript 로 cypress를 사용하기 위해서는 라는 tsconfig.json 파일을 만들어주어야 한다.
https://docs.cypress.io/guides/tooling/typescript-support - cypress 공식문서

{
  "compilerOptions": {
    "target": "es5",
    "lib": ["es5", "dom"],
    "types": ["cypress", "node"]
  },
  "include": ["**/*.ts"]
}

아래의 명령어를 입력하면 실행이 되게 된다.

npx run cypress

아래는 테스트코드 중 가져온 것인데 원래 테스트는 test 와 it 을 사용할 수 있지만 cypress 에서는 test를 인식하지 못하기 때문에 it 으로 작성해야한다.

describe("로그인 화면", () => {
  it("사용자는 아이디와 비밀번호를 사용해서 로그인한다", () => {
    //given - 로그인 페이지에 접근한다
    cy.visit("/login");
    cy.get("[data-cy=emailInput]").as("emailInput");
    cy.get("[data-cy=passwordInput]").as("passwordInput");
    //when - 아이디와 비밀번호를
    cy.get("@emailInput").type("test@email.com");
    cy.get("@passwordInput").type("password");
    //then
  });
});

Cypress Queries

get() : Dom element를 가져온다.

as(aliasName , option) : 특정 이름으로 할당해준다.

invoke(options, functionName) : 함수를 호출해준다.

url(options) : 현재 페이지의 url 을 불러온다.

intercept() : 모킹을 위해 사용되며 네트워크 response 와 request 를 가로채는데 사용됨.
사용될 경우 요청이 서버로 가지 않음.
 

Share article

석우의 개발블로그