본문 바로가기

단위 테스트3

jMock을 이용한 남의 코드 테스팅 (2) 그러면 오늘은 jMock을 이용해 남의 코드를 테스팅하는 과정을 한번 살펴보겠습니다. 정답이라고 할 수는 없고, 저 개인적인 경험에 따른 것이니, 참고 정도 하시면 좋을 것 같습니다. 남의 코드를 테스팅할 때 중점적으로 고려한 사항은 다음과 같습니다. 1. 남의 코드의 인터페이스는 손대지 않는다. 2. 남의 코드의 주 알고리즘은 손대지 않는다. 물론 2는 어쩔 수 없이 손대야 할 경우도 생기긴 합니다만, 가급적 그러지 않는 것이 정신건강상 이롭습니다. 왜 그런지는 아마 여러분들도 잘 아실 거라 생각합니다. 그러면 이제 실제 사례를 살펴보겠습니다. ConnectionManager라는 클래스입니다. 이 클래스는 대략 다음과 같은 골격을 가지고 있습니다. public class ConnectionManager.. 2008. 11. 3.
JWebUnit: 웹 사이트에 대한 단위 테스트 프레임워크 HttpUnit에 대한 글을 쓴지도 얼마되지 않았는데, 웹 서핑을 하다보니 또다른 툴을 만나게 되는군요. 아래의 그림은 JWebUnit 웹사이트 (http://jwebunit.sourceforge.net/index.html) 에서 가져온 아키텍처 그림입니다. JWebUnit 역시 HttpUnit과 마찬가지로 JUnit에 기반하여 만들어진 단위 테스트 프레임워크임을 알 수 있습니다. 흥미로운 것은 플러그인 구조를 채택해서 확장가능토록 구성된 점인데, 현재로서는 HtmlUnit 플러그인만 제공됩니다. ^^; 자바 스크립트 지원이 어느 정도까지 가능한지는 아직 잘 모르겠습니다. 솔직히 웹 브라우저와 직접 연동해서 테스트를 해 주는 Selenium과 같은 솔루션이 아니라면 자바 스크립트 엔진을 직접 구현하는 테.. 2007. 9. 26.
HttpUnit: 웹 사이트에 대한 단위 테스트 프레임워크 방금 웹 서핑을 하다가 HttpUnit에 대한 글을 잠깐 읽었습니다. 블로그들에는 없는 내용이 없군요 :-P http://httpunit.sourceforge.net/ 위의 URL이 httpunit의 주소입니다. jUnit과 함께 사용해야하는, Java 기반의 solution입니다. Cookbook 문서를 읽어보면 알수 있는 것입니다만 (아래의 글은 Cookbook 문서를 보고 간단히 요약한 것입니다) HttpUnit 프레임워크는 WebConversion 클래스를 사용해서 웹 브라우저가 만드는 HTTP conversion을 흉내냅니다. WebConversation wc = new WebConversation(); WebRequest req = new GetMethodWebRequest( "http://w.. 2007. 9. 25.