본문 바로가기
Projects/2021-CVI (백중원)

211028(목) - CI/CD 완성

by jum0 2021. 10. 28.

목차

  • CI/CD 완성

CI/CD 완성

이전에 테스트 코드를 작성하면서 E2E 테스트를 위한 시나리오는 작성했지만, 테스트가 실행되지 않는 에러가 발생해서 미뤄둔 채로 방치하고 있었다. CI/CD를 표방하고 있었지만, 각각의 테스트는 제 역할을 하지 못하고 있어 사실상 CD만 구축되어 있는 상태였다. 프로젝트에서 CI를 구축했다고 말하는 게 부끄러워서, 페어와 같이 다시 테스트 코드를 작성하기로 했다.

이전에 테스트 코드를 작성하다가 그만두었던 이유는 테스트가 온전하게 실행되지 않아서였다. 테스트 환경까지는 잘 구축했다고 생각했는데 어떤 게 문제인지, 실행되지가 않아 테스트 케이스 자체를 확인해 볼 수 없었다. 당시 꽤 많은 시간을 투자했지만 문제가 해결되지 않아 반쯤 포기한 상태였다. 이번에도 페어와 다시 도전하면서 "우리 문제를 찾을 수 있을까"란 이야기를 했는데, 결론부터 말하면 너무나도 잘 동작했다.

그 당시 문제를 찾기 위해서 정말 많은 해결법을 찾아보고 적용해 봤던 것으로 기억하는데, 잘못 기억하고 있는 건가 싶을 정도로 너무 순탄하게 코드를 작성했다. 페어와 지난번의 문제 원인을 평소 업데이트도 자주되고 불안정한 모습을 보이는 cypress 자체 문제로 추정했다. 이번에 집에서 테스트를 chrome 환경에서 하다가 카페로 이동해서 그대로 실행하니 안돼서 eletron 환경으로 실행했는데, 다시 집에 오니 또 chrome이 됐다... 이런 현상 또한 cypress가 문제라는 주장에 힘을 싣는 것 같다는 생각이다. 문제가 무엇인지 모르는 것은 조금 찝찝하지만, 정상적으로 원하는 테스트 코드를 작성해서 마무리할 수 있어서 뿌듯했다.

추가적으로 cypress stubbing 기능을 사용하면서, 테스트에서 서버가 응답하지 않도록 하여 테스트 다운 테스트를 할 수 있었다.

Cypress 테스팅 화면 - stubbing 전

stubbing 전

Cypress 테스팅 화면 - stubbing 후

stubbing 후

네트워크 탭 - stubbing 전

stubbing 전 - 네트워크

네트워크 탭 - stubbing 후

stubbing 전 - 네트워크
반응형

댓글