LangDev

샌드박스를 지원하지 않는 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 안쪽을 파일을 읽어서 리턴하게 만들었습니다.

홍민희