티스토리 뷰
안녕하세요 Hani입니다.
이번에는 Code Coverage 측정해볼 거예욥. ☺️
프로젝트를 하나 생성해둔 모습입니당.
오른쪽에서 Target Membership을 볼 수 있는데 체크할 수 있는 목록은 프로젝트의 타겟이예요.
프로젝트의 타겟을 누르고 Build Phases의 Compile Sources로 들어가면
어떤 소스 파일을 컴파일할지 결정할 수 있습니다.
Xcode - Product - Scheme - Edit Scheme - Test - Options로 가면
Code Coverage를 측정할 건지 체크할 수 있고 타겟을 지정할 수 있어요.
커버리지 볼 거니까 체크해 줄 겁니당.
일단은 유닛 테스트를 아무것도 작성하지 않고
UnitTestProjectTests를 실행시켜서 커버리지를 측정해볼 거예욥.
아까 Code Coverage에 체크를 했기 때문에
Build와 Log사이에 있는 Coverage를 통해 결과를 확인할 수 있습니다.
아무것도 안 건드렸는데 커버리지도 오르고
결국 App의 커버리지가 뻥튀기되는 상황이 발생.. 🥺
UnitTestProject 타겟 아래에 한 객체를 생성해두고
뷰컨에서 사용을 하면
단위 테스트를 작성하지 않았는데도 커버리지가 오름 .. 😡
UnitTestProject를 우클릭하고 Duplicate를 누르면 똑같은 게 만들어지는데
이름을 일단 UnitTestProject2로 지어두겠습니당.
Compile Sources에는 필요한 거 빼고 다 지워주세욥.
왼쪽에는 duplicate때문에 만들어진 plist 파일이 있는데
이름을 적당히 바꿔준 다음에
Target - Build Settings - Packaging - Info.plist File에도 동일하게 바꿔주세요.
Tests 타겟에는 앱에서 사용되는 소스 파일이 들어가면 안 됩니다.
Tests 타겟의 General - Testing에서 Host Application을
새로 만든 타겟으로 바꿔주세욥.
그담엔 커버리지 보고 싶은 타겟만 추가해줍니다
(Xcode - Product - Scheme - Edit Scheme - Test)
테스트할 파일들에 "@testable import 새 타겟" 을 해주고
테스트 눌러보면~!
엄 😅
앱델은 못 참지
흡.. 앱델 빼고 성공적으로 잘 나왔습니다..
테스트할 메서드의 코드를 짜주고 빌드를 눌러주면
앱델 빼고는..!
원하는 커버리지만 얻을 수 있습니다.
혹시 앱델빼고 방법이 있다면 알려주십쇼..
'iOS' 카테고리의 다른 글
[iOS] GitHub Action - CI (0) | 2022.05.15 |
---|---|
[iOS] Core Animation Programming Guide (2) Setting Up Layer Objects (0) | 2022.02.27 |
[iOS] Core Animation Programming Guide (1) Core Animation Basics (2) | 2022.02.18 |
[iOS] Object Graph와 Archive 정리 (0) | 2021.12.08 |
[iOS] NSCoding 정리 (0) | 2021.12.07 |
- Total
- Today
- Yesterday
- WWDC17
- Testable
- WWDC16
- WWDC21
- CompositionalLayout
- 코딩대회
- 최대 매칭
- 강한 순환 참조
- CPU와 Memory
- test coverage
- 최단경로문제
- 다익스트라 시간복잡도
- 네트워크 유량
- mach-o
- 최단경로 문제
- WWDC19
- 최단경로 알고리즘
- 에드몬드 카프 알고리즘
- 부스트캠프 6기
- 포드 풀커슨 알고리즘
- 벨만포드 알고리즘
- 컴퓨터 추상화
- rxswift
- 벨만포드 시간복잡도
- HIG
- observeOn
- IOS
- 네트워크 플로우
- State Restoration
- MeTal
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |