2013-04-18 2 views
6

일부 테스트 범위가 있지만 대부분의 테스트가 혼합 품질 인 앱을 채택했습니다. 앱의 대다수가 JSON API를 사용하고 있습니다. 요청 사양을 작성하려고했지만 인증을 한 다음 POST를 인증 데이터와 함께 보내면 사소한 일이 아니 었습니다. JSON API를 테스트하려면 컨트롤러 사양이 더 적절할까요? 예를 들어rspec 통합/요청 사양 대 JSON API에 중점을 둔 컨트롤러 사양

,

match 'api/login-mobile' => 'api#login_mobile', :as => :login_mobile, :defaults => {:format => 'json' } 

이에서 얻을 사소한 것 같다하지만, 카피 바라와 통합 사양을 필요로한다. 또한, 카피 바라는 기본적으로 세션 데이터를 보낼 것입니다 및

page.driver.post ..... 

내가 테스트 UI 상호 작용에 대한 통합 테스트를받을 필요하지만이 JSON API를 테스트하기위한 정말 나쁜 모델처럼 보인다. 내가 놓친 게 있니? 또는 통합/리퀘스트 테스트를 수행하기위한 자습서가 있습니까? 저는 지금 담론을보고 있습니다. 거의 모든 테스트가 컨트롤러입니다. 통합/요청 사양이 꿀벌 무릎이라면 왜 그 결정을 내릴 것입니까? 사전

+0

[API 테스트를 위해 카피 바라를 사용하지 마십시오] (https://www.varvet.com/blog/capybara-and-testing-apis/). –

+0

Re : 첫 번째 질문은 "JSON API를 테스트하면 컨트롤러 사양이 더 적합할까요?" 그것은 당신이 테스트하고있는 것에 달려 있습니까? 컨트롤러 테스팅 기능 (반환 된 HTTP 상태, 리디렉션, 모델 변경 사항), JSON 컨텐츠 또는 인증/권한 부여와 같은 범용 객체를 테스트하고 있습니까? – Midwire

답변

-1

내가 다소 this SO post처럼, 통합 스타일의 테스트를 할 것에

들으.

JSON을 통해 API 엔드 포인트와 상호 작용하는 것은 컨트롤러보다 상위 수준이므로 RSpec에서 제공 한 featurescenario 블록 설명자를 사용합니다. (예 : here).

기능적으로 컨트롤러 사양과 크게 다르지 않지만, 단위 수준 테스트가 아닌 시나리오/기능 유형의 테스트를 수행하는 데 도움이됩니다.

관련 문제