https://github.com/Quick/Quick/blob/master/Documentation/ko-kr/QuickExamplesAndGroups.md Quick/Quick The Swift (and Objective-C) testing framework. Contribute to Quick/Quick development by creating an account on GitHub. github.com 여기서 너무 잘 설명해서 덧붙일 것도 없는 듯 하네용... Quick 감사합니다👏 한글번역 감사합니다👏 개인적으로는 테스트 메소드 이름이 엄청 구체적이여야한다고 해서 하나씩 만들때 마다 너무 긴데 잘 읽히나...? 이런 생각도 들고 약간의 귀찮음도 있었는데 Quick을 사용하면 긴 테스트 메소드 이..
Unit test 라이브러리로 많이 쓰이는 Quick과 Nimble..! 왜 유명한 것인지 Nimble부터 살펴보자 ☺️ [1] XCTAssert 와는 달리 매번 사용자 임의 실패 메시지를 지정할 필요가 없다 XCTAssert에서 실패 메세지를 작성해주지 않으면, XCTAssertTrue(contains(sillyMonkeys, kiki)) 테스트가 실패했을 때 달랑 "XCTAssertTrue failed" 이라는 실패메세지를 받게 된다 그래서 보통 이렇게 실패 메시지를 함께 작성한다 XCTAssertTrue(contains(sillyMonkeys, kiki), "Expected sillyMonkeys to contain 'Kiki'") 테스트가 실패했을 때 "Expected sillyMonkeys to..
[1] debounce - 타이머를 지정해두고 타이머가 끝난 시점에 가장 최근의 값을 방출해준다. - 이벤트가 방출될때마다 타이머가 초기화된다. - 사용예제: 타이머를 2초로 지정해두면, 사용자가 버튼을 폭풍 누르다가 더이상 버튼을 안누르고 2초가 지날때 가장 마지막 클릭 이벤트를 준다. [2] throttle - 타이머를 지정해두고 이벤트가 처음 방출되면 타이머 동안 어떤 이벤트도 방출되지 않는다. - 이벤트가 방출될때마다 타이머가 초기화되지 않는다. - 사용예제: 타이머를 2초로 지정해두면, 사용자가 버튼을 폭풍 누를때 처음 클릭 이벤트만 주고 2초동안 어떠한 클릭이벤트도 주지 않는다. (다만 latest를 어떻게 설정해주냐에 따라 조금 다른데 밑에서 확인!_!) [2.1] throttle lates..
[1] 실패하는 테스트를 작성한다 10/2 = 5 인지 나눗셈 테스트 해보는 코드인데 당연히 실패한다. Calculator를 만들지도 않았기 때문에-! [2] 빨리 테스트가 통과하게끔 만든다. (또는 컴파일에러가 안나게 일단 막 만들 수 도 있는데 간단한 함수라 바로 구현함) [3] 이제 제대로 동작하는 지를 검사하겠다는 마인드를 지닌다. 다른 실패할 테스트를 만들어본다 (0으로 나눴을때) [4] 테스트가 통과하게끔 만든다 이런식으로 테스트 코드를 먼저 만들고 구현을 점진적으로 해나가는 것이 TDD의 느낌(?) 인 것 같다 그리고 테스트주도개발 에서 나온 것 처럼 일단 빨리 테스트를 통과하게 만들고 그 와중에 생겨난 중복제거 등 리팩토링을 마지막 단계로 해줄 수 도 있다 기능구현을 하고 테스트 코드를 뒤..
[ TDD의 주문 ] TDD의 주문 = 빨강/초록/리팩토링 1. 빨강 - 실패하는 작은 테스트를 작성한다. 처음에는 컴파일조차 되지 않을 수 있다 2. 초록 - 빨리 테스트가 통과하게끔 만든다. 이를 위해 어떤 죄악을 저질러도 좋다 (죄악이란 기존 코드 복사해서 붙이기, 테스트만 간신히 통과할 수 있게끔 함수가 무조건 특정 상수를 반환하도록 구현하기 등을 의미한다) 3. 리팩토링 - 일단 테스트를 통과하게만 하는 와중에 생겨난 모든 중복을 제거한다 [ 예제 ] 1. 정말 리얼 말그대로 테스트를 가장 먼저 작성한다 public void testMultiplication() { Dollar five = new Dollar(5); five.times(2); assertEquals(10, five.amount)..
- Total
- Today
- Yesterday
- Python Type Hint
- Flutter getter setter
- 장고 URL querystring
- Django Firebase Cloud Messaging
- Flutter Clipboard
- Django FCM
- drf custom error
- cocoapod
- ipad multitasking
- Dart Factory
- flutter deep link
- Flutter 로딩
- PencilKit
- Flutter Spacer
- flutter dynamic link
- 플러터 얼럿
- github actions
- Watch App for iOS App vs Watch App
- flutter 앱 출시
- flutter build mode
- SerializerMethodField
- Flutter Text Gradient
- METAL
- 구글 Geocoding API
- DRF APIException
- ribs
- 장고 Custom Management Command
- Django Heroku Scheduler
- 플러터 싱글톤
- Sketch 누끼
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |