TDD 사용을 시작하고 싶습니다. 초보자를위한 팁이 있습니까? [닫은]


27

나는 어떤 프로젝트에서도 자동 테스트 메커니즘을 사용하지 않았으며 많은 것을 놓쳤다 고 생각합니다. 나는 나 자신을 개선하고 싶기 때문에 SVN에 붙어있는 대신 Git을 시도하면서 이런 것을 무시하고 Git을 시도하는 몇 가지 문제를 해결해야합니다.

TDD를 배우는 좋은 방법은 무엇입니까? 아마 Eclipse를 사용하여 Java로 프로그래밍 할 것입니다. JUnit에 대해 들어 보았지만 고려해야 할 다른 것이 있는지 모르겠습니다.

답변:


15

카타 코딩 작업부터 시작할 수 있습니다. 알고리즘 (예 : 10 진수-로마 숫자 변환, 볼링 게임 점수 매기기, Conway의 인생 게임 등)을 선택하고 TDD를 사용하여 솔루션 작업을 시도하십시오.

솔루션 구조는 매우 간단합니다 (실제 프로덕션 코드보다 훨씬 간단합니다). 테스트 픽스 처용 클래스 하나와 테스트중인 알고리즘을 포함하는 클래스 하나입니다. 그리고 의존성없는 테스트중인 클래스 는 또 다른 장점입니다. 이 설정의 단순성을 사용하여 빨강-녹색 리 팩터 루프를 신속하게 중단 할 수 있습니다.

TDD 카타에 사용하는 도구는 원칙을 지키는 한 실제로 중요하지 않습니다. 그러나 Eclipse 용 JUnit 플러그인은 사용하기 매우 쉽기 때문에 탁월한 선택입니다.


8

AAA에 대해 잘 알고 , 그것에 대해 읽고, 테스트 중심 개발과 관련된 문제에 대해 읽으십시오 ( 디자인이 중요하지 않도록 테스트 가능성에 대한 디자인 과 고가의 툴 비교). 테스트를 위해 외부 종속성을 제거하는 것이 더 간단 해 지도록 Dependency Injection을 배웁니다 .

다음은 The Unit of Unit Testing 을 읽는 동안 취한 메모에 대한 좋은 개요입니다.

http://imaginarydevelopment.blogspot.com/2010/01/unit-testing-reference.html


1
Art of Unit Testing을 추천하면 +1입니다. 제 생각에는 독자들을 두려워하지 않고 단위 테스트를 설명하는 최고의 책 중 하나입니다.
Anne Schuessler

6

NUnit과 같은 테스트 하네스를 잡고 일부 문헌을 읽은 다음 손을 더럽히는 것에 대한 대안은 없습니다.

제임스 티 커크 (James T. Kirk)는 한 번 "우리는 실천함으로써 배웁니다."



-3

링크를 확인하십시오 . TDD에 관한 Bob Martin의 블로그입니다. TDD에 대한 사고를 이해하도록 (또는 또 다른 전망을 제공 할 수있는) 훌륭한 자료입니다.


2
Bob 아저씨 자신의 말로 블로그의 태그 라인은 "깨끗한 코드, 디자인 및 모든 소프트웨어에 대한 글"입니다. 블로그 내용은 OP의 "[TDD] 초보자를위한 팁"보다 훨씬 광범위합니다.
azheglov
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.