2012-12-15 2 views
3

나는 전체 테스트 장면에있어 매우 새롭다. 필자는 BDD 테스트에 대해 읽었으며 (필자는 PHP 응용 프로그램을 작성하고 있으므로 Behat을 BDD 프레임 워크로 연구하고 있습니다) 매우 재미있었습니다. API 랩퍼에 대한 bdd 테스트에 대한 정보를 온라인에서 검색했지만 많은 결과를 발견했습니다.나머지 api 래퍼에 대한 테스트를 작성해야합니까?

REST API가있는 서비스의 애플리케이션을 작성하려고합니다. 하지만 PHP api 래퍼를 작성해야합니다. 그래서 내 질문은, 내가 래퍼에 대한 테스트를 작성해야하고 어떤 종류의 테스트를 내가 쓰고 있을까?

+2

모든 * your * 코드에 대한 테스트를 작성해야합니다. 타사 코드는 자체 유지 관리자가 테스트해야하며 그렇지 않은 경우 프로젝트에서주의해야합니다. – rdlowrey

+0

타사 코드? 내가 잘 모르겠다. 래퍼를 사용하는 API 래퍼와 응용 프로그램에 대한 코드를 작성하고 있습니다. 제가 작성하지 않은 유일한 것은 분명히 REST 서비스입니다. 두 번째 질문은 API 랩퍼에 대해 어떤 종류의 테스트를 작성해야합니까? – moleculezz

+0

API 래퍼 클래스가 어떻게 생겼는지에 대한 코드 (또는 최소한 의사 코드)를 게시하려면 실제로 테스트하는 방법에 대해 이야기하는 본격적인 답변을 작성할 수 있습니다. – rdlowrey

답변

0

BDD 프레임 워크는 작동 할 수 있지만 셀레늄, API를 사용하는 앱 및 API 내부에서 일어나는 일들간에 발생할 수있는 가능성을 고려하면 깨지기 쉽습니다.

는 다른 언어처럼 웹 서비스 API에 대한 테스트를 할 뮬 ESB를 사용할 수있는 경우,이 http://docs.guzzlephp.org/en/latest/

을하는 좋은 PHP는 방법이있다. 나는 그것이 서비스 또는 무엇이라도 http에 대해 습관을 실행하는 것을 매우 잘하는 것을 알았다. Groovy 또는 Java Mule ESB를 좋아한다면 ESB는 엔드 포인트에서 직접 응답을 보내고 유효하고 잘못된 요청을 시작하는 데 완벽합니다. 그것은 다양한 가능성을위한 pointy clicky 인터페이스를 가지고 있습니다. api가 xml을 반환하면 직접 구문 분석 할 수있는 방법이 충분합니다. 그것은 JSON에서도 잘 작동합니다. 데이터 응답을 위해 자신 만의 형식을 만든 경우에도 쉽게 응답 할 수 있습니다. Guzzle은 PHP와 비슷한 방식이지만 PHP curl 친화적 인 방식으로 제공하지만 뾰족한 클릭 물건은 없습니다.

REST API에 사용하고있는 언어와 프레임 워크가 괜찮은 단위 테스트 패키지를 가지고 있다면, 그렇게하는 것이 좋습니다. 나는 당신이 PHP를 사용하고 있고 PHP에서 단위 테스팅을 싫어하지만 때로는 특정 방법을 보호하기를 원할 때 특정 방법이 올바른지 다른 방법으로 확인할 수없는 경우가 있습니다.

Jasmine이나 qUnit과 같은 자바 스크립트 테스트 프레임 워크를 사용하여 만든 성공적인 API 테스트 제품군을 보았습니다.

모두는 당신이 편안하고 당신의 API로 무슨 일이 일어나고 있는지, 당신이 고려해야 할 당신의 API의 어떤 기능을 다루어야하는지에 달려 있습니다.

+0

여기 API에 대해 많은 이야기를하고 있습니다. 하지만 API를 만들지 않았습니다. 내 응용 프로그램에 API 만 사용하고 있으며 응용 프로그램에서 사용할 API에 대한 래퍼를 작성했습니다. – moleculezz