swsnu / swppfall2019

31 stars 23 forks source link

[HW2] Test code coverage에 대한 질문입니다. #116

Open NSYT0607 opened 4 years ago

NSYT0607 commented 4 years ago

항상 수고가 많으십니다.

이번 Testing 과제를 진행하면서 질문사항이 생겼습니다.

  1. 조교님의 소스 파일기준으로 "/test-utils/mocks.js" 에 대한 test파일인 mocks.test.js가 없음에도 불구하고

테스트 실행결과 전부 통과한 것으로 표시됩니다. 저도 조교님 파일의 구조를 따라 동일하게 mocks.js를 만들어서

테스트를 실행해본 결과(제 소스파일에도 mocks.test.js는 없는 상태입니다), 약 80%의 커버리지를 보이며 Uncoverd Line이 5개 정도가 나오는 상황입니다.

왜 조교님 코드에선 test코드가 없어도 100퍼센트인지, 또한 어떤 기준으로 각 js파일의 coverage가 결정되는 건지 궁금합니다.

ktaebum commented 4 years ago

code test coverage 계산할 때는 꼭 *.test.js 파일이 없더라도

다른 module에서 해당 module을 import해서 사용하면, 그 부분에 대한 coverage는 계산이 됩니다.

예를 들어서 mocks.js에 있는 어떤 함수를 component1.test.js에서 가져와서 쓰면 code path에 `mocks.js에 해당 함수가 포함이 되어 계산이 되어 반영이 되는 것입니다

쉽게 설명하면 말 그대로 프로그램이 수행되면서 지나온 code line이 전부 계산된다고 생각하시면 됩니다 (다른 파일일지라도)

NSYT0607 commented 4 years ago

감사합니다.