2009-11-30 25 views
4

我見過提到在這裏和那裏的軌道上的捲曲博客和ive掃描一些帖子在這裏在stackoverflow但我仍然有點在黑暗中使用,特別是當涉及到軌道開發。什麼是捲曲,它對軌道開發者有什麼用途?

它對測試有用嗎?我目前正在學習測試的細節和我需要做的事情之一就是在過濾器之前測試一個只允許在用戶來自某個外部站點時調用某個動作的過濾器。這是一個使用捲曲的場合嗎?

+2

Tagged tdd,really? – 2009-11-30 12:38:29

+1

對不起斯蒂芬,你的權利。從我有限的捲曲知識來看,我認爲這是與測試有關的。無論哪種方式TDD是一個錯誤的標籤添加。道歉。 – robodisco 2009-11-30 13:32:42

回答

5

捲曲是一個命令行程序,可以檢索網址,它非常靈活,例如它可以使用有限的正則表達式來下載一系列文件。

您可能想要通過在某些情況下查看您的應用程序會發生什麼,如果您想測試如果您的用戶來自某個站點會發生什麼,然後在curl上使用-e選項來使用它進行測試。

手冊頁在線Here

+0

啊這聽起來不錯 - 所以如果我打電話在我的測試卷曲使用國旗和指定一個外部網站,然後當我打電話request.env [「HTTP_REFERER」] 它應該認爲,虛擬外部網站的網址...對不對? 有沒有辦法做到這一點與測試框架沒有訴諸捲曲帶有軌道? – robodisco 2009-11-30 13:07:17

+0

Curl對於測試控制器操作的JSON響應類型(可能是您的API)非常有用。我推薦「作弊」寶石(gem install cheat),它是一個簡潔的捲曲參考。從作弊,我一直使用的東西:'curl -H「接受:application/json」-i -X GET http:// localhost:3000/projects/3' – 2009-12-01 03:38:37

2

不,我不認爲你會使用cURL進行TDD。使用cURL意味着與遠程服務進行通信,這將是一個集成測試。

你在說這個嗎? http://www.viget.com/extend/curl-and-your-rails-2-app/

在那篇文章中,cURL根本沒有在rails應用中使用。它在終端上用於測試/演示應用程序的REST服務,而不是以TDD方式。

捲曲,給這個目的,因爲它的許多選項,您可以模擬從用戶代理,如語言驗收,驗收字符集,緩存使用等不同的頁眉...

1

看一看hurl 這是寫在Rails的 —然後想象一個更強大的命令行版本。這幾乎是cURL。

+0

Hurl實際上是用Sinatra構建的。 http://github.com/defunkt/hurl – 2009-12-01 03:37:17

+0

所以,謝謝。我感到困惑,因爲我知道它是在2009年的Rails Rumble中輸入的! – 2009-12-01 08:10:41

0

Ruby(Rail?)黑客也可能對libcurl的許多Ruby綁定感興趣,這是爲curl工具提供支持的庫。像他們在這裏提到的:http://curl.haxx.se/libcurl/ruby/

相關問題