TDD 사이클

TDD 사이클에 대해 배웠습니다. 여기에는 네 가지 단계가 있습니다.
1.
빨간색: 불합격 테스트를 작성합니다.
2.
녹색: 시험에 합격하세요.
3.
리팩터: 앱과 테스트 코드를 모두 정리합니다.
4.
반복: 모든 기능이 구현될 때까지 다시 수행합니다.
TDD 사이클의 첫 번째 단계인 빨강으로 시작할 것입니다.
XCTest: 다음을 시작으로 모든 테스트 방법 필요 test 운영될 예정되어 있다
test: 테스트 대상 메소드의 이름을 따릅니다. 자, 이건 init. 그 다음 부분과 그것을 분리하는 밑줄이 있다.
선택적으로, 특별한 설정이 필요한 경우, 이것은 다음 사항입니다. 이 테스트에는 이 내용이 포함되지 않습니다. 이와 같이 제공되는 경우 밑줄에 따라 마지막 부분과 분리됩니다.
마지막으로, 기대한 결과나 결과가 뒤따른다. 여기 있습니다 createsCashRegister.
이 규칙은 읽기 쉽고 의미 있는 컨텍스트를 제공하는 테스트 이름으로 이어집니다. 테스트에 실패할 경우 Xcode는 테스트의 클래스 이름과 방법을 알려준다. 테스트의 이름을 이렇게 지정하면 문제를 신속하게 확인할 수 있습니다.

Refactor: 코드 정리

리팩터 단계에서 앱 코드와 테스트 코드를 모두 정리합니다. 그렇게 함으로써 끊임없이 코드를 유지하고 개선하게 됩니다. 리팩터에는 다음과 같은 몇 가지 사항이 있습니다.
중복 논리: 중복제거를 위해 어떤 속성, 방법 또는 클래스를 제거할 수 있습니까?
설명: 당신의 논평은 어떤 것이 왜 행해졌는지 설명해야지, 어떻게 행해졌는지 설명해서는 안 된다. 코드의 작동 방식을 설명하는 코멘트를 제거하십시오. 큰 메소드를 잘 명명된 여러 메소드로 분할하고, 속성 및 메소드의 이름을 변경하여 더 명확해지거나 때로는 단순히 코드를 더 잘 구성하여 전달해야 합니다.
코드 냄새: 때때로 특정 코드 블록이 단순히 잘못된 것처럼 보일 수 있습니다. 여러분의 직감을 믿고 이런 "코드 냄새"를 없애려고 노력하세요. 예를 들어 너무 많은 가정을 하거나 하드코딩된 문자열을 사용하거나 다른 문제를 일으키는 논리를 사용할 수 있습니다. 위의 요령도 여기에 적용된다: 방법과 클래스를 빼내고, 이름을 바꾸고, 코드를 재구성하는 것은 이러한 문제를 해결하는 데 큰 도움이 될 수 있다.

반복: 다시 실행

앱 개발 내내 TDD를 사용하여 최대한의 혜택을 누리십시오. 각 TDD 사이클에서 약간의 성과를 얻을 수 있으며, 테스트를 통해 앱 코드를 구축할 수 있습니다. 앱의 기능을 모두 완료하면 제대로 작동하고 테스트된 시스템이 제공됩니다.
첫 번째 TDD 사이클을 완료했으며 이제 다음 클래스를 인스턴스화할 수 있습니다. CashRegister하지만 이 클래스가 유용하게 쓰이기 위해서는 아직 더 많은 기능을 추가할 수 있습니다. 다음은 작업관리 목록입니다.
수락하는 이니셜라이저 쓰기 availableFunds
addItem 사용해 거래를 증가시킬 수 있습니다.
 acceptPayment 사용
이 테스트는 처음보다 더 복잡하기 때문에 세 부분으로 나뉜다. 즉, 주어진 시간그리고 그 다음이다. 다음과 같은 방식으로 단위 테스트를 생각해 보면 유용합니다.
어떤 조건이 주어진다면
어떤 조치가 취해질 
그러면 예상된 결과가 발생한다.