반복적인 테스트가 힘들때

지속가능한개발·2023년 1월 20일
0

고민한것

목록 보기
3/7
post-thumbnail

1.문제의식

반복적으로 하는 테스트가 힘들다.

기능을 개발하고 테스트하려면
일련의 단계를 따라서 해봐야 하는 경우가 자주 있다.

고치기 위해 개발하는 시간보다 문제를 파악하고 해결하기위해
테스트 해보는 시간이 더 길때도 많다.

또 어떤 기능에 버그가 있어서 고쳤을때
이 기능과 연관된 다른기능이 동작하는지 확인해봐야 하는데
이것도 참 고역이다.

나는 단위테스트를 통한 테스트주도개발은
아직 시도를 못해보고 있지만

기능 개발후에 사용자에게 보여지는 화면이라도
테스트 할 수 있는 환경을 갖는것은
반복되는 테스트때문에 꽤 절실하게 느껴졌고
e2e테스트를 자동화 할 수 있다면 실용적일거라는 생각이 들었다.

2.고민과정

1) Cypress

이런 문제의식을 가지고 구글링하다 찾게된것이 e2e 테스트용으로
주로 사용되는 Cypress라는 테스트도구였는데 아래와 같이 테스트를 자동화 해준다고 한다.

2) 공식문서 읽어보기

describe('My First Test', () => {
  it('Visits the Kitchen Sink', () => {
    cy.visit('https://example.cypress.io')
  })
})

이런식으로 테스트에 이름을 붙여 작성하고
이 안에 테스트할 내용을 작성하면 되는것 같았다.

처음에 npm등에서 cypress를 설치하고
cypress:open, cypress:run 등의 명령어를 알려줬는데
아래와같이 편리해보이는 대시보드도 있었다.

그외에 config에서 root주소를 설정해주는게 있었다.

3) 적용해보기


아이디와 비밀번호를 입력하고
로그인시 사용자에게 아이디가 정상적으로 보이는지
확인하는 테스트를 작성했다.

소스수정이 있을때마다 해야했던
테스트를 이렇게 몇줄로 해결할 수 있다니 써먹을데가 많을것 같다.
내부상태나 쿠키 요청등에대한 검증을 하는 방법들을 알아가야겠다.

3.결론

반복적으로 하는 e2e테스트가 힘들때는 Cypress를 쓰면 된다.

profile
좋은 프로그램을 만들 수 있는 사람이 되기 위해 꾸준히 노력합니다

0개의 댓글