Programming/Node.js

Programming/Node.js

[Node.js] assert.doesNotThrow와 assert.doesNotReject의 차이점

Node.js에서는 코드의 동작을 검증하기 위해 다양한 단언(assertion) 함수들을 제공하고 있다. 이 중 assert.doesNotThrow()와 assert.doesNotReject() 함수는 코드 블록이 에러를 발생시키지 않는다는 것을 확인하는데 사용된다. 그러나 이 두 함수는 각각 다른 유형의 코드에 적용되므로 그 차이점을 이해하는 것이 중요하다. 1. assert.doesNotThrow(block[, error][, message]): 이 함수는 동기 코드 블록이 주어진 에러를 발생시키지 않는지 확인한다. 만약 코드 블록이 에러를 발생시키면, 그 에러는 무시되고 대신 AssertionError가 발생한다. 선택적으로 error 인자를 제공하여 특정 타입의 에러만 검사할 수 있다. 아래는 예..

Programming/Node.js

[Node.js] 자주 발생하는 TypeError 해결하기: 'Cannot read property of undefined'

Node.js를 이용한 개발이 점점 인기를 얻고 있다. 그러나 개발 과정에서 발생할 수 있는 다양한 오류들로 인해, 개발자들이 진행에 어려움을 겪을 때가 많다. 이번 글에서는 Node.js 개발 중 자주 마주치는 오류 중 하나인 "TypeError: Cannot read property 'x' of undefined"에 대해 알아보자. "TypeError: Cannot read property 'x' of undefined" 오류는 객체가 정의되지 않았을 때 발생한다. 객체의 속성이나 메서드에 접근하려고 시도하면 이 오류가 발생한다. 이러한 오류의 일반적인 원인들은 다음과 같다. 1. 변수 또는 객체 초기화 누락 가장 일반적인 원인은 변수 또는 객체를 선언했지만 초기화하지 않은 경우 이 경우 해당 변수는..

Programming/Node.js

[Node.js] NPM에서 NODE_ENV와 DevDependencies 이해하기

Node.js는 현대 웹 개발의 필수적인 부분이 되어, 개발 과정을 간소화하는 다양한 패키지와 모듈의 강력한 생태계를 제공하게 되었다. 많은 기능 중 Node.js는 애플리케이션의 동작 방식에 영향을 미치는 다양한 환경 설정을 제공하고 있다. 그 중 하나는 NODE_ENV 변수다. 이 글에서는 NODE_ENV 변수가 종속성 관리에 어떤 역할을 하는지 그리고 package.json 파일의 devDependencies 필드의 설치 프로세스에 어떻게 영향을 주는지 살펴보고자 한다. NODE_ENV 개요 NODE_ENV 변수는 Node.js 애플리케이션의 동작을 제어하기 위해 설정할 수 있는 환경 변수다. 일반적으로 'development', 'production', 'test'의 세 가지 가능한 값이 있다. ..

Programming/Node.js

[Mocha] DB 접근 최소화를 위한 Mocha 테스트 코드 작성법

Mocha를 사용하여 테스트 코드를 작성하다 보면, 각 테스트 파일에서 데이터베이스(DB)에 연결하고 연결을 끊어야 하는 상황이 발생한다. 이러한 경우, 테스트 파일의 수보다 많은 DB 접근과 연결 끊기 작업이 발생할 수 있다. 이 문제를 해결하기 위해 Mocha를 사용하여 테스트 코드를 작성할 때 모든 테스트 전에 DB에 단 한 번 연결하고 모든 테스트 후에 단 한 번 연결을 끊는 방법을 소개한다. 이 예시는 mongoose와 mocha를 사용한다. Version Node.js: v16.15.1 npm: 9.6.4 mocha: 9.1.2 mongoose: 6.6.2 typescript: 4.9.3 기존 테스트 코드의 구조 및 코드 기존 테스트 폴더의 구조 test/ test1/ test파일들... te..

얼은펭귄
'Programming/Node.js' 카테고리의 글 목록