目前我正在爲我的網站開發一個開放的API。由於API提供的所有信息都不受保護,因此我不打擾令牌,從而使API的開發變得更加容易。測試構建在rails環境上的API
我對API很新,因此我不確定開發人員希望檢索什麼,以及他們如何檢索它。目前,API是爲我自己的網站量身定製的。我想知道如何測試通過我的Rails開發環境在其他類型的環境中生成的API。
目前我正在爲我的網站開發一個開放的API。由於API提供的所有信息都不受保護,因此我不打擾令牌,從而使API的開發變得更加容易。測試構建在rails環境上的API
我對API很新,因此我不確定開發人員希望檢索什麼,以及他們如何檢索它。目前,API是爲我自己的網站量身定製的。我想知道如何測試通過我的Rails開發環境在其他類型的環境中生成的API。
我會考慮使用Cucumber來測試你的API ..我有點不清楚你究竟在做什麼,但我通過Cucumber測試了APIs(自動化測試)。
你可以使用任何語言編寫你的黃瓜步驟,但我建議使用與你的應用程序相同的語言編寫它們(所以,紅寶石)。
您可以使用FactoryGirl(FactoryGirl.create)創建對象以插入數據庫並使用DatabaseCleaner自動刪除數據庫中的對象。
你會發現很多文檔使用Sinatra來嘲笑你的應用程序,但我認爲這不是一個好的做法。相反,我直接插在我的env.rb文件中使用此代碼使用我的Rails應用程序:
FactoryGirl.definition_file_paths = %w(custom_directory)
FactoryGirl.find_definitions
**module AppHelper
def app
YourAppApi::Application
end
end
World(Rack::Test::Methods, AppHelper)**
你還需要確保你需要:
require ::File.expand_path('../../../config/environment', __FILE__)
require 'cucumber/rails'
require 'factory_girl_rails'
require 'rack/test'
其餘的(功能/ step_definitions)很容易....你可以在我的博客@ whitneytaylorimura.wordpress.com上看到他們/例子
curl是你最好的朋友。爲API查詢提供JSON響應並使用curl進行測試。 – 2011-12-28 20:30:24
我最關心的是如何解析信息。我可以將這些信息轉換成簡單的to_json表示,開發人員會很高興嗎? 我從來沒有通過桌面環境在API上工作,所以我不知道他們是否期望別的東西。 – KayleL 2011-12-28 20:48:49
任何Web API都應提供json和/或XML響應。從一個簡單的to_json開始,使用它,查看缺少的內容並修復它。 – 2011-12-29 07:22:40