-
210619 - TILTIL/2021 2021. 6. 19. 23:53
CleanCode - UnitTest
Test를 작성하며 코드를 작성해야 하는데 진도가 느려지게 되니 자꾸 미루게 된다 ㅠㅠ
- 테스트 슈트가 없으면 자신이 수정한 코드가 제대로 도는지 확인할 방법이 없다. (인정.....)
- 코드에 유연성, 유지보수성, 재사용성을 제공하는 버팀목이 바로 단위 테스트다. 테스트 케이스가 있으면 변경이 두렵지 않으니까!!
TDD법칙 세가지
- 실패하는 단위 테스트를 작성하기 전까지 실제 코드를 작성하지 않는다.
- 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다.
- 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다.
가독성!! 가독성!! 가독성!!
- 실제 환경에서는 절대로 안되지만 테스트 환경에서는 전혀 문제없는 방식이 있다.
- 대게 메모리나 CPU 효율과 관련 있는 경우다.
- 테스트랑 Assert 하나. 이렇게 하면 중복이 많아지는 경우가 생긴다. 그래서 최대한 줄이는 방법으로 가고 꼭 한 개일 필요는 없다.
- 테스트 함수 하나는 개념 하나만 테스트하라.
FIRST
- 테스트가 느리면 할 엄두가 안 나니 최대한 빠르게
- 서로 의존하면 안 된다 독립적으로
- 어느 상황에서도 테스트 가능해야 한다. ex) 네트워크 연결이 없어도 돼야 한다.
- 테스트는 bool값으로 결과를 내야 한다.
- 실제 코드를 구현하기 전에 구현해야 한다.
Tuple
코드를 짜면서 써본 적이 노티피케이션에 info를 담아 보낼 때 말고는 한 번도 사용해본 적이 없기는 한데 그래도 어려운 개념은 아니어서 어려울 건 없는 문법이다.
다만 한 가지 헷갈린 건 decomposition에서 하나는 let 하나는 var 이렇게 분리할 수 있는 줄 알았는데 불가능했다.
해당 기능은 switch문에서 matching 할 때 가능 한 문법이다.
Segue
이전 화면으로 돌아가는 작업은 기존에 사용하는 segue를 이용하는 게 아닌 unwind segue를 이용해야 한다.
기본적인 segue는 자주 사용했지만 unwind segue는 사용한 지 너무 오래돼 기억이 가물가물... 해서 다시 공부했다.
돌아가고 싶은 곳에 unwindTo(_:) 메서드를 만들어 놓지 않으면 scene dock에 나타나지 않으므로 조심하자!
728x90'TIL > 2021' 카테고리의 다른 글
210621 - TIL (0) 2021.06.21 210620 - TIL (0) 2021.06.20 210616 - TIL (0) 2021.06.17 210615 - TIL (0) 2021.06.16 210614 - TIL (0) 2021.06.14