지금까지 테스트를 작성하려고 노력은 했지만 돌이켜보니 클라이언트 코드에서는 한번도 테스트코드를 작성한 적이 없었다. 유지보수하기 좋은 코드를 쓰려면 테스트코드는 필수라고 생각한다. 문제점 내가 사용하는 jest는 node환경에서 돌아간다. 브라우저와 node환경은 다르다. 여기서 문제가 되는 부분은 node에는 DOM객체와 API가 없다는 것이다. 이걸 어떻게 사용해볼까? 고민을 했다. 서치 결과가 대부분 리액트에서 테스트하는 방법이라는 문제가 있어서 좀 더 오래 걸린 것 같다. jsdom jsdom은 이전 RSS파싱을 통한 블로그 피드 제작에 썼던 라이브러리라 사용방법을 알고있었다. nodejs환경에서 DOM요소를 건드릴 수 있게 해준다. https://www.npmjs.com/package/jsdom..
컨테이너 설정은 다했으니 TypeORM과 Jest의 설정을 해보자. Data-Source.ts 일단 나는 DataSource방식으로DAO코드를 작성했다. https://orkhan.gitbook.io/typeorm/docs/data-source Working with DataSource - typeorm Generally, you call initialize method of the DataSource instance on application bootstrap, and destroy it after you completely finished working with the database. In practice, if you are building a backend for your site and you..
드디어 도커 컨테이너를 활용해서 테스트코드를 작성해보자. 로컬에서 db를 비우고, 테스트하고, 다시 비우면 너무 일이 많으므로, test시도시에 컨테이너를 띄우고, 모든 테스트를 완료한 후에 컨테이너를 내리는 식으로 테스트를 진행할 것이다. 일단 docker-compose.yml을 작성해서 mySQL 컨테이너를 하나 띄워주자 version: '3' services: mySQLContainer: image: mysql container_name: mySQLContainer command: - --default-authentication-plugin=mysql_native_password - --character-set-server=utf8 - --collation-server=utf8_general_ci ..