동의하지 않는 프로그래밍 모범 사례는 무엇입니까?

2097 단어 programmingdiscuss
최근에 인터뷰에서 이런 질문을 받았는데 제 대답은 이랬습니다.

순수한 단위 테스트 및 얕은 렌더링 아이디어



특히 ReactJS의 경우 얕은 렌더링(예: enzyme)을 수행할 수 있는 많은 테스트 라이브러리가 있습니다. 즉, 구성된 구성 요소가 있는 경우 테스트가 실제로 내부 구성 요소를 렌더링하지 않으므로 그것에 대해 주장하십시오. 이러한 내부 구성 요소를 다루려면 각 부품에 대한 특정 테스트를 작성해야 합니다.

예를 들어:

<div>
   <Form>
      <Username />
      <Email />
   </Form>
</div>

이 구조를 사용하여 이 구성 요소에 대한 테스트를 작성하려는 경우 첫 번째div가 렌더링되지만 사용자 지정Form 구성 요소는 렌더링되지 않으며 UsernameEmail 구성 요소도 조롱됩니다. 순수한 단위 테스트 아이디어를 따르는 개별적으로 테스트해야 하지만 구성 요소가 함께 제대로 작동하는지 확인할 수는 없습니다.
이 패턴을 따른다면 곧 정말 혼란스럽고 따르기 어려운 일련의 순수한 단위 테스트로 끝날 것입니다.






켄트 C. 도즈










테스트가 소프트웨어 사용 방식과 유사하지 않을수록 신뢰도가 낮아집니다.


오전 02:35 - 2018년 2월 18일





35

176



테스트는 소프트웨어가 사용되는 방식과 유사해야 합니다. 순수한 단위 테스트는 아니지만(기술적으로는 통합 테스트라고 부를 수 있음) 결국 중요한 것은 앱을 안심하고 출시할 수 있다는 것입니다.

자원:

  • Testing React Applications, v2

  • Gerd Altmann에서 Pixabay의 이미지

    좋은 웹페이지 즐겨찾기