분류 전체보기(222)
-
[정리] supertest를 이용한 통합테스트 정리
유닛테스트와는 다르게, 통합테스트는 DB의 처리로직을 포함한 API의 모든 트랜젝션 과정이 제대로 수행되었는지를 테스트한다. 그래서 보통은 Mock을 사용하지 않는다. 여기에서는 supertest라는 라이브러리를 사용하고, 실제 DB에 접근해야 하므로 mongoose 객체도 불러와준다 또한 app이라는 이름으로 서버의 index파일도 받았는데, 이는 트랜젝션 환경이 그대로 구축되어야 하기 때문이다. (이때문에 서버의 index 파일을 별개로 익스포트 해줘야 한다) 작업시작전에 DB와 연결이 되어야한다. 통합테스트가 트랜젝션의 올바른 수행을 검사한다는 측면이 크기 때문이다. 이전에 내 블로그에서 정리했던글처럼 test로 빌드하면 init파일에서 DB에 접근토록한다 기본적인 테스트 구문은 유닛테스트와 동일하..
2021.01.29 -
[정리] JEST를 이용한 유닛테스트 방법 간단정리
간단하게 사용하던 방식 정리(NodeJS기준) 일단 여기에서는 유닛테스트에 jest를 이용한다 jest는 애초에 리액트를 위한 라이브러리라서 nodeJS에서 사용하려면 별도 설정을 몇가지 해줘야 된다. 설정이 다 되어있다는 가정하에 간단한 유닛테스트 예시를 들어보겠다! 1) 시작전 테스트 관련 코드들은 보통 별개로 작성한다. 내 경우에는 통합테스트와 유닛테스트로 나누어 관리하였다. 2) Mock 객체 생성 테스트 파일에는 기존에 설정했던 컨트롤러와 모델, 그리고 테스트 데이터를 불러온다 여기에서 httpMocks에 주목해보자 jest를 이용한 테스트에서는 Mock함수를 만들어 사용한다 Mocking은 코드가 의존하는 부분을 가짜(mock)로 대체하는 기법을 말한다. 모든 유닛테스트에 Mock함수를 적용하..
2021.01.29 -
[이슈] Mongoose(node.js)+JEST 동시 사용시 주의점
mongoosejs.com/docs/jest.html Mongoose v5.11.14: Testing Mongoose with Jest Testing Mongoose with Jest Jest is a client-side JavaScript testing library developed by Facebook. Because Jest is designed primarily for testing React applications, using it to test Node.js server-side applications comes with a lot of caveats. We strongly mongoosejs.com 명심하자 jest는 React를 위해 만들어진 라이브러리다 애초에 기본동작도 jsDOM이라..
2021.01.29 -
[이슈] git add 취소
git reset HEAD 파일명 전체 취소는 git reset
2021.01.29 -
[정리] map, filter, reduce, set 사용 꿀팁
1~5번 예시 데이터 1) 특정 key 값만 뽑기 2) value 여러개 사용하여 원하는 결과 뽑기 3) 검색 정규표현식과 test메소드를 사용 4) key별 갯수세기(통계) 5) 인덱싱 age를 index로 하는 테이블을 생성 6) key-value 바꾸기 reduce로 객체의 key들만 뽑은다음 정렬 7) 합집합, 교집합
2021.01.28 -
[개념정리] 콜스택과 이벤트루프
자바스크립트가 함수를 호출하면 인터프리터가 이를 호출 Stack에 추가하고 함수를 수행한다 메인함수가 끝나면 인터프리터가 Stack에서 함수를 제거한다. (할당 공간보다 많은 공간을 차지하게 되면 stack overflow에서가 나게 된다.) 이렇게 코드를 작성하고 함수를 실행하면 스택에 무언가를 올리는 행위를 push, 함수로부터 무언가를 리턴받는 행위를 pop이라고 한다. 함수와 달리 객체들은 Heap에 할당된다. 자바스크립트 엔진은 이렇게 '메모리 Heap'과 'Call Stack'이라는 두가지 뼈대를 가지고 있다. 객체들은 Heap에 함수는 Stack에 할당이 되는 것이다. 하지만 Stack의 함수들이 바로 실행되는것이 아니다. 자바스크립트는 브라우저 위에서 돌아가는 경우가 많은데, 따라서 Sta..
2021.01.28