분류 전체보기87 [iOS] 모의 URLSession 으로 네트워킹 Test 하기 목차 (눌러서 이동) 모의 URLSession 이 필요한 이유 Network 연결이 필요한 작업을 테스트할 때 항상 실제 network 를 통해 해당 URL 에 접근한다면 너무 많은 시간이 소요된다. 따라서, 실제 network 연결 없이 네트워킹 함수를 테스트 할 수 있어야 한다. URL download 함수 func downloadData(_ session: URLSession, completionBlock: @escaping (Result) -> Void) { if let url = URL(string: /*Put URL that you want to downlaod some data.*/) { let task = session.dataTask(with: url, completionHandler: .. 2021. 7. 30. TDD(Test Driven Development) 와 BDD(Behavior Driven Development) https://kdata.or.kr/info/info_04_view.html?field=&keyword=&type=techreport&page=48&dbnum=172089&mode=detail&type=techreport 데이터 기술 동향 < 정보마당 - 한국데이터산업진흥원 오래도록 발전하는 개발자로 살아가기 입에 쓴 보약, TDD와 BDD 개발자로서 발전이 없다고 느껴질 때, 자신의 업무와 더불어 발전할 수 있는 방법이 있다. 바로 Test Driven Development(이하 TDD)와 Behavior kdata.or.kr TDD 란? Test code 를 작성하고 이에 따라 검증된 code 를 실제 코드로 반영하는 개발 방법. 전통적인 TDD 개발론의 흐름: 1. Unit 을 위한 Test set.. 2021. 7. 17. [iOS] TDD(Test Driven Development) Tutorial raywenderlich - Test Driven Development Tutorial for iOS 목차 (눌러서 이동) TDD 의 장점 Test code 는 Production code 의 작성과 함께 계속 수정되므로 개발 내용을 계속해서 따라간다. 그래서 작성한 Test 자체가 앱의 동작 방식에 대해 기술한 개발 문서가 된다. TDD 방식으로 개발할 때 Test code 의 Code coverage 가 당연히 더 좋고, 추후에 중대한 update 를 하게 될 경우 훨씬 쉽다. 한 명이 Test code 를 작성, 다른 한 명이 Production code 를 작성하며 Pair-programming 을 적용하기 쉽고, 이로 인해 개발 속도는 빠르지만 튼튼한 앱을 만들게 된다. Red - Green -.. 2021. 7. 16. [iOS] WWDC 2019 Testing in Xcode WWDC2019 Testing in Xcode Introduction to XCTest Test Pyramid 피라미드 형태의 Test plan 을 통해 효율적이고 철저하게 검사하면서도 속도를 놓치지 않도록 균형을 잡을 수 있다. Unit test 는 Test 의 기본 단위이다. 단일한 코드 조각 (보통은 function) 에 대해 특정 입력을 넣고 기대하는 출력이 나오는지 확인한다. Unit test 짧고 단순하며 빠르다. 또한, 모든 Test 의 기반이 되므로 최대한 대부분의 functions 이 Test 될 수 있도록 하는 것이 좋다. Integration test 는 좀 더 넓은 범위에 적용된다. 앱의 여러 부분들 혹은 class 들이 모여 서로 올바르게 상호작용하고 동작하는지 확인한다. Unit.. 2021. 7. 12. [iOS] Unit & UI Testing raywenderlich - iOS Unit Testing and UI Testing Tutorial 테스트는 앱이 거대하고 복잡해짐에 따라 버그를 숨기지 않고 안전하게 확장되도록 하는 중요한 장치이다. 이번 튜토리얼을 통해 다음 사항들을 테스트 해본다. 1. 앱의 Model 즉, 중심이 되는 논리나 기능. 2. Asynchronous methods (비동기적으로 진행되는 작업). 3. 라이브러리나 시스템 객체와의 상호작용을 가짜로 흉내내서 테스트하기 (Stubs and mocks). 4. UI Test. 5. Performance Test. 6. Code coverage tool (테스트를 거치는 실제 코드들을 확인하기). 어떤 것을 테스트할지 파악하기 테스트가 무엇을 위해, 그에 따라 어떤 부분에 필.. 2021. 7. 10. [iOS] MVC 구조의 앱을 MVVM 으로 바꾸기 raywenderlich - iOS MVVM Tutorial: Refactoring from MVC MVVM 으로 바꿀 때 장점 ViewController 가 단순해진다. Business logic 을 더 잘 표현 할 수 있다. ViewModel 이 ViewController 보다 테스트하기 쉽다. ViewModel? ViewController? MVVM 구조에서 ViewController 는 View 를 바꾸고 View 에서 받은 입력을 ViewModel 로 전달하는 일만 한다. 이 이외에 MVC 구조의 ViewController 가 하던 모든 일을 ViewModel 에게 전달할 것! ViewModel 은 View 입력을 받아 Model 갱신, Model 의 정보를 ViewController 에게 전달.. 2021. 6. 25. 이전 1 2 3 4 5 6 7 8 ··· 15 다음