Cypress- Continous Integration

코드위의승부사·2020년 7월 31일
0

Cypress 실행 전에 로컬 서버를 백그라운드에서 부트해야한다.
이를 위해 많은 사람들이 아래와 같은 코드를 사용한다.

npm start & cypress run // Do not do this

문제는 서버를 실행하는데 시간이 걸린다면 cypress가 실행됬을때 서버의 이용 가능성을 보증할 수 없다.

wait-on mode
wait-on module을 사용해서 서버 시작전 cypress의 실행을 막는다.

npm start & wait-on http://localhost:8080
cypress run 

start-server-and-test - 서버 시작에 오랜시간이 소요될 경우

stub : 함수를 수정하거나 행동을 동작에 제어를 프로그래머에게 넘겨준다.

  • unit test(commonly used) , e2e tests

사용사례) 콜백을 받는 함수가 있는 경우 그 콜백을 실행할 경우
Promise를 리턴하는 함수에서 자동적으로 resolve 하거나 reject하는것
window.location으로 쌓인 함수가 있을때 네비게이션을 막고 싶을 때
테스트가 실패하도록 강요함으로 앱의 실패경로를 테스트 할 때
테스트가 성공하도록 강요함으로 앱의 해피패스를 테스트 할 때
로그인/로그아웃 된것으로 생각하도록 앱을 트릭하는 경우
oauth를 사용중이고 로그인 방법을 스텁하려는 경우

profile
함께 성장하는 개발자가 되고 싶습니다.

0개의 댓글