2009-11-30 2 views
4

필자는 여기 저기 레일에 블로그를 썼다는 것을 보았습니다. 블로그와 ive는 stackoverflow에서 일부 게시물을 스캔했지만 여전히 레일 개발과 관련하여 특히 어둠 속에서 조금 어둡습니다.컬 (curl)이란 무엇이며 레일 개발자는 무엇을 사용합니까?

테스트에 유용합니까? 임씨는 현재 테스트의 내용을 배우며 내가해야 할 일 중 하나는 사용자가 특정 외부 사이트에서 온 경우 액션을 호출 만 허용하는 필터를 테스트하는 것입니다. 이것은 컬이 사용될 기회입니까?

+2

태그가 지정된 tdd, 정말로? –

+1

죄송합니다 스테판, 귀하의 권리. 컬에 대한 나의 제한된 지식으로, 나는 그것이 테스트와 관련이 있다고 믿었습니다. 어느쪽으로 든 tdd는 틀린 꼬리표이었다. 사과. – robodisco

답변

5

컬 명령 줄 프로그램입니다 ...이 목적을 위해 선한 URL을 검색 할 수 있습니다. 매우 유연합니다. 예를 들어 제한된 정규 표현식을 사용하여 다양한 파일을 다운로드 할 수 있습니다.

특정 상황에서 응용 프로그램이 어떻게되는지보고, 사용자가 특정 사이트에서 온 경우 발생하는 문제를 테스트하려면 curl에 -e 옵션을 사용하는 것이 좋습니다.

남자 페이지

+0

ahh 그게 좋은 소리 - 그래서 내 전화를 사용하여 내 테스트에 컬을 호출하고 외부 사이트를 지정할 때 request.env [ "HTTP_REFERER"] 그 더미 외부 사이트 URL을 ... 오른쪽 보유해야합니까? 테스트 프레임 워크에서이를 수행 할 수있는 방법은 곱슬 거리지 않고 레일과 함께 제공됩니까? – robodisco

+0

Curl은 컨트롤러 액션 (API 일 수 있음)의 JSON 응답 유형을 테스트하는 데 매우 유용합니다. 나는 "속임수"보석 (gem install cheat)을 추천한다. 그것은 간결한 컬 참조이다. 속임수에서, 나는 항상 사용하고있는 무엇인가 : curl -H Accept : application/json "-i -X ​​GET http : // localhost : 3000/projects/3' –

2

아니요, 저는 TDD 용으로 cURL을 사용하지 않을 것이라고 생각합니다. cURL을 사용하면 통합 서비스가 될 원격 서비스와 통신하게됩니다.

이 문제에 대해 이야기하고 있습니까? http://www.viget.com/extend/curl-and-your-rails-2-app/

해당 게시물에서 cURL은 레일즈 응용 프로그램에서 전혀 사용되지 않습니다. TDD 방식이 아닌 앱의 REST 서비스를 테스트/데모하기 위해 터미널에서 사용되고 있습니다. 많은 옵션을 사용하면 같은 언어 수용, characterset 수용, 캐시 사용 등으로 사용자 에이전트, 다른 헤더를 시뮬레이션 할 수 있기 때문에

컬은

1

Here가 레일 — 작성하고 더 강력한 명령 줄 버전을 상상한다 hurl 에서보세요 온라인 상태입니다. 그것은 꽤 많은 cURL입니다.

+0

Hurl은 Sinatra로 실제로 만들어졌습니다. http://github.com/defunkt/hurl –

+0

감사합니다. 나는 그것이 2009 Rails Rumble에 입력되었다는 것을 알고 있기 때문에 혼란 스러웠습니다! –

0

또한 Ruby (Rail?) 해커는 컬 도구를 구동하는 라이브러리 인 libcurl에 대한 많은 Ruby 바인딩 중 하나에 관심이있을 수 있습니다. 여기에 언급 된 것처럼 : http://curl.haxx.se/libcurl/ruby/

관련 문제