올 상반기 발표 자료입니다. 이클립스 기반으로 되어 있습니다.
https://bit.ly/oktdd2022 

* 개발환경 세팅
* Getting Started TDD
* TDD Concept
* TDD Misunderstood
* Test 단계와 유형
* assert 종류
* 리팩터링
* Maven

tdd

http://browsershots.org/

세상에 브라우저가 참 많습니다.

결과화면입니다.

고전적인 자바 클래스의 테스트는 main() 메소드에 값을 찍어보는 코드를 넣어서 콘솔에서 확인합니다. 이클립스에 익숙해진 덕에 JUnit에서 System.out.println() 집어 넣는 것은 초딩같은 습관이라고 생각을 "저만"했었습니다. 하지만, 찍어본다는 것 그리고 그것을 눈으로 확인하는 것은 굉장한 심리적 안정감을 주기는 합니다. 아직 assertEquals() 는 보이지 않는 신뢰가 필요하기 때문이죠.

httpunit의 테스트코드를 보니 재밌는 부분이 있었습니다. 상당히 많은 수의 테스트케이스에 main() 메소드가 있었고, 그 메인메소드는 JUnit을 기반으로 해당 테스트코드를 수행하도록 만들어주는 것이었습니다.


suite() 메소드를 inline 리팩토링하면 junit.textui.TestRunner.run( new TestSuite( EncodingTest.class ));  를 통해서 실행을 합니다. Java Application 으로 실행한 결과는 다음과 같습니다.

..............
Time: 3.813

OK (14 tests)

물론 이 클래스는 JUnit을 통해서도 실행됩니다.

다른 사람의 코드를 읽는 것, 프로그래머 소통의 시작이 아닐까 생각해봅니다.

참고로 HttpUnitTest 클래스의 상속구조입니다. ctrl+T 로 이클립스에서 볼 수 있습니다.


 

사용자 삽입 이미지

아주 올드한 디버깅 자바부터 제가 갖고 있는 책은 7권 정도 됩니다.
디버깅 자바: 버그 잡는 방법에 대한 일반론부터 정책들까지 다뤄집니다. (2000년 번역)

실용주의 프로그래머를 위한 단위 테스트 with JUnit : 가장 얇습니다만 굉장히 실용적입니다. (2004년 번역)

이클립스 기반 프로젝트 필수 유틸리티 : 국내 최초의 협업을 주제로 한 책입니다. JUnit과 Ant의 랑데뷰가 그려집니다.(2004년)

테스트 주도 개발 : 이게 다 이 책 때문입니다. (2005년 번역)

지름길로 빠르게 배울 수 있는 자바 프로그래밍 : 미스테리한 책입니다. 일단 출판사가 교학사, 뚜시쿵!!! 원제는 Agile Java : Crafting Code With Test-Driven Development. 아하! 그럴만 하겠죠. 자바 기초 서적인데 Hello World 나오기 전에 JUnit부터 나옵니다. 말 다했죠. (2005년 번역)
Unit Testing In Java : 2004년에 사서 아직도 다 못 봤습니다. UI, 웹, 동시성 등 다양한 영역에서 테스트 방식을 알려줍니다.

Working Effectively With Legacy Code : 작년 11월에 사서 아직도 2/3밖에 못 읽었습니다. 혹자의 서평이 이 책은 TDD의 실무 적용판이다라고 적절하게 하신 듯 합니다.

이 외에도 더 있습니다. 기억이 나거나 습득하게 되는 대로 계속 포스팅하고 싶습니다. ^^

한 남자가 있습니다.
애인을 만들고 싶어합니다.
그래서 집을 나섰습니다.
한 사람을 만났습니다. 그리고 물었죠.
남: 여자입니까?
여: 넵.
남: 사귑시다.
여: 뭐 이런 남자가 다 있어. 애인 있어요.
남: 안녕히 가세요.

남자는 테스트 조건을 하나 더했습니다.
애인 없는 여자!
남자는 다시 길을 나섰습니다.
또 만났죠
남: 여자맞죠.
여: 보면 몰라요? 왜요?
남: 애인 있어요?
여: 없어요.
남: 사귑시다.
여: 뭐 이런 남자가 다 있어. 변태같으니라고.
남: 안녕히 가세요.

또 하나의 테스트 조건이 생겼습니다.
나를 변태처럼 안 보는 여자!
남자는 다시 길을 나섰습니다.
또 만났죠
남: 저기요. 여자분이시죠.
여: 네. 그런데요.
남: 애인 있나요?
여: 아뇨.
남: 저 변태처럼 보이나요?
여: 아뇨. 정상인처럼 보이는데요.
남: 그럼 저와 사귀죠.
여: 제 스타일이 아닌데요. 안녕히 가세요.
남: 넵. 안녕히 가세요.

남자는 또 하나의 테스트 조건을 추가했습니다.
이렇게 남자는 여자 고르는 테스트 프레임워크를 만들어서 만나는 여자마다
쉽게 쉽게 테스트를 했습니다.

남자는 결국 웨딩플래너가 되었습니다.

+ Recent posts