Published 2022. 6. 22. 01:46

어제에 이어서 힘든 하루였다. 특히 코드숨에서 테스트를 작성하는 과제가 주어졌는데, 이를 위해 꽤 많은 시간을 할애해서 테스트를 공부했지만 여전히 과제를 수행하는 건 쉽지 않았다.

테스트

코드숨 과제로 테스트 작성이 주어짐에 따라 그동안 미뤄뒀던 테스트 강의와 공식 문서들을 통해 다음과 같은 내용을 속성으로 공부했다.

  • 테스트란 무엇인가?
  • 테스트는 언제 해야 할까?
  • 테스트를 하는 이유
  • 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
복사했습니다!