안녕하세요 :) 저는 크래시 때문에 메모리 관련해서 딥 다이브를 해보고 있는데요 XCTest 프레임워크를 활용하여 메모리 누수 가능성을 쉽게 확인할 수 있는 방법이 있어서 관련해서 오늘 포스팅을 해보려고 합니다 사용할 함수는 바로 바로 addTeardownBlock이 함수입니다 테스트가 끝날 때 실행할 블록을 등록하고 블록은 현재 테스트 메서드가 끝나면 이후에 실행됩니다 즉 현재 테스트 메서드가 종료될 때 실행되는 코드 블록입니다 ???이걸로 어떻게 메모리 누수 가능성을 판단하냐??? 더 이상 사용되지 않는 객체는 dealloc이 되잖아요 이 걸 addTeardownBlock 여기 블록 내에서 확인해 볼 수 있어요 XCTAssertNil를 활용해서 이 객체 더 이상 사용되지 않으니 nil일 거야!!! 이..
이전 포스트에서 Dependency Injection이 유닛 테스트에 왜 필요한지에 대해 포스팅했다면 오늘은 Dependency Injection이 무엇인지에 대해서 간단히 작성해보려 합니다 그래 Dependency Injection이 도대체 뭔데? 저도 처음 DI를 접했을 때 꽤 많이 혼란스러웠는데요 아직까지도 혼란스러울 수도? 응? Dependency Injection에 대해서 찾아보면 의존관계 주입, 의존성 주입 등등 나오는데 그냥 영어 그대로 받아들여야 이해하기가 더 쉬운 것 같아요 Dependecy를 Inject 한다 ??????????? 그림으로 같이 봐요 A 객체 B 객체가 있다고 생각해 봅시다 A 객체 함수 내부에서 B 객체를 생성하면 아래와 같은 모습이 되겠죠 A 객체의 함수 내부에서 B..
안녕하세요 오랜만이에요 :) (아무도 안 물어봤지만) 요즘 나의 관심사 == 유닛 테스트 오늘은 DI가 유닛 테스트에 왜 필요한지에 대해서 작성해보려 해요 Class A와 Class B가 있다고 생각해 봅시다 우리는 클래스 A의 a 함수가 잘 동작하는지 그리고 예상한 결과가 잘 반환되는지 확인해 본다고 할게요 클래스 A의 a 함수가 다른 코드에 독립적이다면? a가 성공 실패 여부에 따라서 우리는 판단할 수 있겠죠 테스트에 성공했다면 a 함수가 잘 동작하고 있구나 또는 테스트에 실패했다면 a 함수에 어느 부분이 문제가 있구나 아... 수정해야겠다 이렇게요! 하지만 프로젝트가 커질수록 모든 함수가 다른 코드에 독립적이기는 쉽지 않죠? 다른 객체를 생성하고 어떤 작업을 하도록 호출하는 경우가 많을 겁니다 위 ..
1. 프로젝트 생성 시에 유닛 테스트 추가하기 Include Tests를 체크하면 모든 테스트가 다 포함됩니다. 뭐 버전에 따라 다르겠지만, Include Unit Tests으로 표시되는 분은 해당 체크박스 체크해주시면 유닛 테스트만 포함됩니다. 2. 기존에 존재하던 프로젝트에 유닛 테스트 추가하기 기존에 생성할 때 Include Tests를 추가하지 않았다면? 고럼 왼쪽 상단에 프로젝트를 눌러줍니다. 그리고 하단에 + 버튼을 눌러서 Unit Testing Bundle을 검색해 줍니다. 이름 정하고 Finish 하면 됩니다. Unit Testing Bundle이 추가된 것을 확인할 수 있습니다.
안녕하세요 :) 오늘은 유닛 테스트에 대해서 작성해 보겠습니다. 저한테 유닛 테스트는 참 숙제 같은 친구네요. 앞으로 유닛 테스트에 관련된 포스트가 종종? 올라올 것 같습니다. 유닛 테스트가 뭐야(what)? 유닛 테스트는 소스 코드의 특정 모듈이 의도된 대로 정확히 작동하는지 검증하는 절차입니다. 다시 말해 애플리케이션에서 작동하는 하나의 함수 또는 메소드에 대한 테스트 케이스를 작성하는 절차를 말합니다. 그래서 이걸 왜(why) 하는데? 1. 프로그램의 안정성이 높아진다. 유닛 테스트의 목적은 프로그램의 각 부분을 고립시켜 각각이 정확하게 동작하는지 확인하는 것입니다. 즉, 프로그램을 작은 단위로 쪼개서 각 단위가 정확하게 동작하는지 검사하고 이를 통해 문제 발생 시 정확하게 어느 부분이 잘못되었는지..
- Total
- Today
- Yesterday
- objective-c
- ARC
- 책 후기
- Algorithm
- leetcode
- swift5
- ios
- Xcode
- wwdc
- 스위프트
- 독서
- Animation
- Deep learning
- RX
- string
- 알고리즘
- 책
- stanford SwiftUI
- 문자열
- iOS SwiftUI
- rxswift
- objc
- 딥러닝
- 애니메이션
- 머신러닝
- 스위프트UI
- 책 추천
- SWIFT
- ReactiveX
- swiftUI
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |