어제에 이어서 힘든 하루였다. 특히 코드숨에서 테스트를 작성하는 과제가 주어졌는데, 이를 위해 꽤 많은 시간을 할애해서 테스트를 공부했지만 여전히 과제를 수행하는 건 쉽지 않았다.
테스트
코드숨 과제로 테스트 작성이 주어짐에 따라 그동안 미뤄뒀던 테스트 강의와 공식 문서들을 통해 다음과 같은 내용을 속성으로 공부했다.
- 테스트란 무엇인가?
- 테스트는 언제 해야 할까?
- 테스트를 하는 이유
- TDD
- FIRST
- Right-BICEP
- CORRECT
- Jest
코드숨
테스트를 급하게 공부한 이유가 코드숨 과제를 위해서였는데 테스트를 작성하는 기본적인 방법은 알게 됐지만 역시 실제로 적용하는 건 쉽지 않았다. 이번 주 과제는 이미 만들어진 컴포넌트에 그에 맞는 테스트를 작성하는 건데 컴포넌트의 어떤 부분을 어떻게 테스트해야 하는지 방향성을 잡기가 너무 어려운 것 같다.
사용자 입장에서 테스트를 표현하며, describe - context - it 패턴을 사용해서 테스트 상황을 구체화하면 좋다는 리뷰를 받았는데 내일 다시 많이 고민해봐야 할 것 같다.
https://johngrib.github.io/wiki/junit5-nested/
JUnit5로 계층 구조의 테스트 코드 작성하기
5의 @Nested 어노테이션을 쓰면 된다
johngrib.github.io
자바스크립트
- requestAnimationFrame
- Promise
- MutationObserver
- Polyfill
- Closure
에 대해 공부했다. 특히 Closure가 React의 Hook을 구현하는 데 있어서 어떻게 사용되는지에 관한 글을 읽었는데 Closure는 공부할 때마다 늘 새로운 것 같다.
// React.useState() 구현에서 closure가 사용되는 예시
const React = (function () {
const hooks = [];
let idx = 0;
function useState(initVal) {
const state = hooks[idx] || initVal;
const _idx = idx;
const setState = (newVal) => {
hooks[_idx] = newVal;
};
idx++;
return [state, setState];
}
return { useState };
}());
보다 자세한 내용은 아래 링크를 참고 바란다.
https://www.rinae.dev/posts/getting-closure-on-react-hooks-summary
'Getting Closure on React Hooks' 정리
JSConf.Asia 2019에서 발표된 React Hooks를 직접 구현해보는 세션 정리
www.rinae.dev
'TIL' 카테고리의 다른 글
| TIL - 20220623 (0) | 2022.06.24 |
|---|---|
| TIL - 20220622 (0) | 2022.06.23 |
| TIL - 20220620 (0) | 2022.06.21 |
| TIL - 20220617 (0) | 2022.06.17 |
| TIL - 20220616 (0) | 2022.06.17 |