Assert 모듈이란?
- Assert 모듈은 개발자가 만든 코드가 동작하기 전에 데이터나 수식에 대한 검사를 할 수 있는 모듈입니다.
- Assert 모듈에서 제공하고 있는 함수들은 이용하여 검사할 때 위배가 될 경우 오류가 발생하고 프로그램이 중지됩니다.
여러분들이 데이터를 처리해서 뭔가를 작업을 하는 코드가 있는데요. 해당 코드를 수행하기전에 어떤 데이터를 검사하는 여러분들이 만들어주신 코드가 수행되기 위해서 어떤 데이터가 0보다 커야된다거나 이런 조건이 있다면 과연 변수에 진짜 있는 값이 해당 조건에 맞는지 검사를 먼저해준다음, 그거에 위배가 되면 오류를 발생시켜 프로그램을 종료시켜버립니다. 만약에 위배가 되지 않을 경우, 계속 프로그램을 수행하게끔 만들어준게 Assert 모듈입니다.
결과
요번에는 오류가 발생하게끔 v3 값을 10으로 변경 시켜줬습니다.
결과
위처럼 수식의 값이 참이면 오류가 발생하지 않고 거짓이면 오류가 발생하는게 바로 assert가 되겠습니다.
결과
저렇게 assert를 해줬을 때 결과가 0이 나오게 되면 오류가 뜹니다.
결과
반면, 위처럼 결과가 0이 아닐 경우에는 오류가 안뜨고 정상적으로 출력되는 것을 볼 수 있습니다.
Assert 모듈 메소드 정리
- assert: 주어진 변수가 수식의 값이 0이거나 false인 경우 오류가 발생한다.
- equal: 주어진 두 변수나 수식의 결과 값이 다를 경우 오류가 발생한다. 값의 타입은 무시한다.
- strictEqual: 주어진 두 변수나 수식의 결과 값이 다를 경우 오류가 발생한다. 값의 타입도 검사한다.
- notEqual: 주어진 두 변수나 수식의 결과 값이 같을 경우 오류가 발생한다. 값의 타입은 무시한다.
- notStrictEqual: 주어진 두 변수나 수식의 결과 값이 같을 경우 오류가 발생한다. 값의 타입도 검사한다.
Assert - equal
결과
위처럼 equal을 사용했을 때 두개의 값이 같으니 결과가 정상적으로 찍히는 것을 알 수 있습니다.
결과
요번에는 값이 다른 숫자끼리 equal을 시켜줬으니 오류를 출력하는 것을 볼 수 있습니다.
Assert - strictEqual
결과
strictEqual는 equal이랑 거의 똑같습니다. 하지만 결과 type이 다르면 오류를 출력하게 됩니다.
Assert - notEqual
간단하게 말하자면, equal과 반대라고 생각하시면 됩니다. 근데 equal과 마찬가지로 값의 타입은 무시합니다.
결과
결과가 달라서 정상적으로 출력되는 것을 볼 수 있습니다.
Assert - notStrictEqual
결과
notEqual는 형태를 무시하므로 v1과 v4는 같다고 판단해서 오류를 출력해줍니다.
Assert - notStrictEqual
결과
두 값의 type이 다르므로 정상적으로 출력되는 것을 알 수 있습니다.
'IT-백엔드' 카테고리의 다른 글
node.js의 개요 (0) | 2024.01.24 |
---|---|
node.js basic module1 - 기본 작성법 (0) | 2024.01.24 |
node.js basic module3-Buffer 모듈1 (0) | 2024.01.24 |
node.js basic module2-Assert 모듈2 (0) | 2024.01.24 |
node.js basic module3-Buffer 모듈2 (0) | 2024.01.24 |