-
단위 테스트 (Given, When, Then) 활용ios 2020. 6. 23. 20:34
클린 코드를 읽으면서 단위 테스트의 중요한 부분을 요약해보겠습니다.
TDD 법칙 세 가지
1. 실패하는 코드를 작성하
2. 컴파일에 통과하는 코드를 작성
3. 실패했던 코드들을 통과할 정도로 수정하면서 실제 코드를 작성
[테스트 코드를 짤 때 주의할 점]
-> 테스트 코드는 실제 코드 못지 않게 중요
-> 테스트 코드는 사고와 설계와 주의가 필요
[테스트 케이스를 가지고 있을 때]
-> 테스트 코드가 있으면 코드 변경에 두렵지 않을 수 있다.
-> 유연성, 유지보수성, 재사용성을 갖는다.
-> 변경이 쉬어진다.
[깨끗한 테스트 코드를 만드려면?]
가독성, 가독성......
[테스트 코드 구조]
1. 테스트 자료 생성
2. 자료를 조작
3. 조작한 결과가 옳바른지 확인
ps. 테스트 코드는 진짜 필요한 자료 유형 과 함수만 사용 , 누가봐도 알아볼 수 있도록!!
클린 코드를 읽고난 후, 기존에 작성한 테스트 코드는 돌아가는 코드인지 확인만 하는 코드, 누가봐도 이해하기 힘든 코드였습니다. 그래서 이러한 문제점을 책에서 읽은 구조로 바꾸고자 아래의 블로그를 발견하여 제 프로젝트에 적용해보니 코드의 가독성, 재사용성 부분에서 한결 좋아진거 같습니다.
https://medium.com/fantageek/testing-in-swift-with-given-when-then-pattern-cd1a4e1737f9
Testing in Swift with Given When Then pattern
Spec
medium.com
이 블로그를 참고하여 given, when, then 패턴을 사용하여 테스트 코드를 작성하였습니다.
먼저 XCTestCase 클래스에 extension으로 given, when, then 함수를 추가하였습니다.
[given, when,then 함수들의 용도]
1. 테스트 자료 작성 = given(desc
2. 자료를 조작 = when
3. 조작한 결과가 옳바른지 확인 = then
[given, when, then 함수의 전달인자]
1. description: String : 테스트 데이터 작성시 원하는 구문을 작성할 수 있음
2. (throws->()) : 테스트 데이터 작성
아래는 위 블로그를 읽고 활용한 코드입니다. 잘못된 부분이 있다면 아래 댓글을 남겨주시면 갑사하겠습니다.
이상입니다. 허름한 글 읽어주셔서 감사합니다.
'ios' 카테고리의 다른 글
APNs 사용법 (0) 2020.07.20 Property with type 'Any' does not conforms with codable protocol (0) 2020.07.13 UICollectionView: Using Flow Layout (0) 2020.06.21 Label 줄바꿈 속성 (0) 2020.05.11 [ios] Then (1) 2020.04.17