샌드박스를 지원하지 않는 OpenAPI에 대한 회귀 테스트
홍민희제목에서 다 나왔는데요, 말 그대로 샌드박스(sandbox)를 지원하지 않는 OpenAPI에 대해 회귀 테스트(regression tests)를 하려니 감이 잡히지 않고 막막하군요. 이 문제 때문에 Me2PHP도 별다른 회귀 테스트를 가지고 있지 못해서 개발하는데 힘이 듭니다. 미투데이 같은 경우 낙장불입이라 create_post 같은 것을 테스트하기 곤란한 점이 있죠.
다른 분들의 고견이 궁급합니다.
...지원하도록 요청하면 안될까요;;
http://xper.org/wiki/xp/InsertTestableLayer 참고하세요
알려주신 방법을 참고해서 테스트 작성을 했습니다. 사용 대상은 VLAAH API 클라이언트 라이브러리였고, 언어는 Ruby를 사용했습니다. (곧 공개할께요.)
정확히는 별도의 레이어를 더 삽입하진 않았고, 사용하는
Net::HTTP클래스와 동일한 인터페이스를 갖는 유사 클래스를 테스트할 때만 사용하는 방식이었습니다. Ruby가 Java와 달리 클래스를 값으로 다룰 수 있기 때문에--클래스 이름은 일종의 상수이고, 값은Class클래스의 인스턴스가 됩니다--이렇게 쉽게 해결할 수 있었습니다. 테스트 도중 접근하는 페이지(REST 식으로는 리소스)들을 fixtures 디렉토리에 파일로 저장해놓고, 유사Net::HTTP클래스는 실제 HTTP 요청을 하는 대신 fixtures 안쪽을 파일을 읽어서 리턴하게 만들었습니다.아, 공개한 것은 오래 전인데 여기다 적질 않았군요.
http://vlaah.rubyforge.org/