(나는 원래 이 기사를 뉴스레터에 썼습니다. 이와 같은 내용을 더 읽고 싶다면 가입해야 합니다!)
Rails 커뮤니티는 테스트, 특히 TDD에 집중하고 있습니다. 이러한 테스트 문화는 Rails의 가장 좋은 점 중 하나입니다. 그러나 테스트와 올바른 테스트에 대한 압박감은 신규 사용자에게 압도적일 수 있습니다.
테스트를 전혀 하지 않은 곳에서 왔다면 TDD를 배우기가 특히 어려울 수 있습니다. TDD를 올바르게 수행하기 위해 알아야 할 모든 사항에 대해 생각해 보십시오.
- 구현하려는 기능을 알아야 합니다.
- 각 기능의 어느 부분을 테스트해야 하는지 식별할 수 있어야 합니다.
- 테스트 도구를 배워야 합니다
- 각 부분에 대한 몇 가지 테스트를 작성하는 방법을 알아야 합니다.
- 코드를 먼저 보지 않고 테스트를 작성하는 방법을 알아야 합니다.
- '가장 간단한 것'을 작성하는 방법을 알아야 합니다.
- 코드 디자인을 성장시키기 위해 테스트를 사용하는 방법을 배워야 합니다.
그렇게 쓰여졌을 때 없었다면 놀랐을 것입니다. 고심하다. 한 단계로 0에서 TDD로 갈 수 없다는 것은 분명합니다. 그래서, 당신은 무엇을합니까? 없이 TDD를 어떻게 배울 수 있습니까? 압도되고 있습니까?
분해!
불가능한 작업에 직면해 있다고 느끼거나 다음에 무엇을 해야 할지 모르겠다면 원하는 위치에 더 가까이 다가갈 수 있는 더 쉽게 배울 수 있는 것이 있는지 확인하세요.
예를 들어, RSpec으로 TDD를 배우려면 다음과 같이 분리할 수 있습니다.
-
테스트 없이 기능에 대한 탐색 코드를 작성합니다. (따라서 기능을 만들고 작성하는 경험을 얻을 수 있습니다)
-
일부 코드를 연구하고 다양한 유형의 입력에서 코드가 손상될 수 있는 몇 가지 방법을 적어 보세요. (따라서 무엇을 테스트하고 테스트하는 방법을 배울 수 있습니다)
-
Ruby에 내장된 미니 테스트를 사용하여 이미 존재하는 코드에 대한 테스트 작성 (따라서 TDD와 RSpec을 배우거나 gem을 설치하고 RSpec 환경을 설정하는 데 어려움을 겪지 않고도 미니 테스트 및 기본 테스트를 배울 수 있습니다)
-
TDD 및 minitest를 사용하여 일부 코드 시운전 (따라서 gem 종속성을 다루거나 RSpec을 배우지 않고도 TDD에 집중할 수 있습니다. 테스트 작성 방법을 이미 알고 있으므로 먼저 작성하는 방법을 배우기만 하면 됩니다.)
-
RSpec을 사용하여 일부 코드 테스트 (이미 TDD로 약간의 연습을 했다면 RSpec 설정에 집중하고 API와 문화를 배울 수 있습니다)
이들 각각은 개별적으로 연습할 수 있는 훨씬 작은 기술입니다. 그런 다음 첫 번째 단계에 집중하고 연습하고 다음 단계로 진행하는 식으로 계속할 수 있습니다. RSpec을 사용하여 TDD로 바로 이동하는 대신 성장할 수 있습니다. 그것을 향해.
일이 더 많아진 것 같습니다. 하지만 TDD를 처음부터 배우려고 하는 것보다 이러한 각 기술을 더 빨리 배우게 될 것이며, 다음으로 유용한 테스트 스타일이 나올 때 더 나은 기반을 구축할 수 있을 것입니다.
한 번에 한 가지에 집중
핵심은 그냥 일에 집중하고 연습하는 것입니다. 마지막 단계로 바로 도약하려 하지 않고 편안함을 넘어선다. 이러한 각 단계는 그 자체로 몇 가지 가치가 있습니다. 첫 걸음을 떼고 멈추더라도 여전히 가치 있는 것을 배울 수 있습니다. 그러나 서로를 기반으로 하기 때문에 한 가지 학습에 집중할 수 있습니다. 한 번에 많은 것을 던지는 대신 정말 좋습니다. 지치지 않고 포기하지 않고 배울 수 있습니다.
이 과정을 진행하면서 자신에게 실수를 허용하십시오. 당신은 배우고 있습니다, 그것은 완전히 OK입니다! 자주 하면 할수록 쉬워집니다. 지속적이고 신중하게 연습하고 이미 알고 있는 것보다 한 단계 더 높은 수준에 도달하면 도달하게 될 것입니다.