dApp 테스트 코드

이동창·2022년 5월 31일
0

https://gokatz.me/blog/automate-chrome-extension-testing/

Test Code

테스트 코드 작성 경험이 있는 분들 우대합니다

항상 자격요건에서 확인할 수 있는 말이지만,
스타트업에서 일하면서 급박한 기한을 맞추면서 일하다보니
테스트 케이스까지 세워가며 코드를 짤 여유가 많이 없었는데 (물론 핑계에 불과하다)

이번 프로젝트는 조금 넉넉한 일정이라 Test Code를 세워볼 여유가 되겠다는 생각이 들었다.

근데 문제가 있었으니...

Jest? Cypress? Etc?

수많은 Test 라이브러리와 수많은 테스트 코드 패턴이 나를 반겼다.
일단 자동화 테스트를 도입하면, 여태 내가 겪었던 문제가 조금 해결될 것 같아 그 부분은 반가웠지만
이렇게 많은 라이브러리 중에 무엇을 고를지, 어떤 코드 패턴이 더 좋을 지가 매우 고민됐다.

이 때 새로운 문제의 등장..

How to test with chrome extension?

바로 대부분의 dApp은 chrome extension 지갑으로 transaction에 서명을 하도록 하기 때문에
어떤 transaction을 보내는 기능이 제대로 동작하는지 보려면 extension도 조작할 수 있어야한다.

이를 위해 내가 선택한 방법은 바로

Playwright

원래 Cypress나 Jest는 extension에 대한 조작이 어렵기 때문에
Puppeteer 같은 친구들을 같이 써줘야 하는 어려움이 있었는데
Puppeteer도 뭔가 문서가 가독성이 떨어지는 느낌도 들고 2개를 배워야 한다는 러닝커브의 무서움에,
extension에 대한 조작이 비교적 자유롭다는 Playwright을 선택하게 되었다.

사실 Playwright도 Puppeteer에서 처음에 포크된 친구라고 한다.
하지만 Puppeteer는 사실 단순 테스트 라이브러리라기 보단 Headless Chrome 조작하는 것을 도와주기에,
Playwright는 e2e test에 특화된 것으로 발전되게 되었다.

more comming soon..

0개의 댓글

관련 채용 정보