1. 먼저 요구사항을 읽어봅시다
타이틀에 있는 내용은 문제가 요구하는 요구사항을 이야기하고 있습니다.
나이가 21보다 많은지 아닌지 여부를 반환해야 합니다
위 내용은 우리가 만드려는 함수(isOldEnoughToDrink)가, 21보다 큰지 아닌지를 판단하여 리턴해주기를 요구하고 있습니다.
이를 바탕으로 이 함수의 리턴값은 boolean 형태인 것을 추측해볼 수 있을 것입니다.
2. 테스트 케이스를 확인해봅니다
테스트 케이스에서는 JavaScript 코드가 적혀있습니다. 코플릿의 작동원리는 이 JavaScript로 작성된 테스트 코드가 성공적으로 통과하느냐 마느냐로 결정됩니다. 이 중에 우리가 주목해서 볼 부분은 다음 내용입니다.
expect(isOldEnoughToDrink(40)).to.be.true;
위 내용의 의미는 다음과 같습니다.
isOldEnoughToDrink(40)의 리턴값이 true가 되기를 기대한다
즉 실제로 해당 함수에 40이라는 값을 넣어 실행시켰을 때, true 라는 리턴값이 나오면 이 테스트는 통과하게 되는 것입니다. 참고로, expect라고 적힌 부분은, 테스트 프레임워크라는 것에서 제공하는 검증 함수(assertion) 입니다.
3. 테스트가 통과하지 않은 이유를 확인합니다
테스트가 통과하지 않은 이유는 다음과 같이 적혀있습니다.
expected undefined to be true
이 내용을 풀어서 설명하면,
true가 되어야 할 것으로 기대했지만, 실제로는 undefined라는 값으로 나왔다
라는 의미로 받아들일 수 있을 것입니다. 이 말은 곧, "isOldEnoughToDrink(40)의 실행한 후의 리턴값은 true가 아닌 undefined 이므로, 함수가 잘못 작성되었다" 라는 의미입니다. 코드의 어딘가에서 undefined를 리턴하거나, 또는 아무것도 리턴하지 않는 경우가 반드시 있을 것입니다. 이렇게 여러분들이 잘못 작성한 내용에 대한 분석을 하고 난 후 개선할 수 있습니다.
'Codestates > 06.15 - 07.10' 카테고리의 다른 글
2020.06.18 [TIL] 배열 다루기 - 불변성 유지하기 (0) | 2020.06.18 |
---|---|
2020.06.18 [TIL] 문자열 다루기 (0) | 2020.06.18 |
2020.06.18 [TIL] 객체 (0) | 2020.06.18 |
2020.06.17 [⭐️TIL] 배열과 반복문 (0) | 2020.06.17 |
2020.06.15 Mon. (0) | 2020.06.15 |