2011-12-28 34 views
0

目前我正在为我的网站开发一个开放的API。由于API提供的所有信息都不受保护,因此我不打扰令牌,从而使API的开发变得更加容易。测试构建在rails环境上的API

我对API很新,因此我不确定开发人员希望检索什么,以及他们如何检索它。目前,API是为我自己的网站量身定制的。我想知道如何测试通过我的Rails开发环境在其他类型的环境中生成的API。

+3

curl是你最好的朋友。为API查询提供JSON响应并使用curl进行测试。 – 2011-12-28 20:30:24

+0

我最关心的是如何解析信息。我可以将这些信息转换成简单的to_json表示,开发人员会很高兴吗? 我从来没有通过桌面环境在API上工作,所以我不知道他们是否期望别的东西。 – KayleL 2011-12-28 20:48:49

+0

任何Web API都应提供json和/或XML响应。从一个简单的to_json开始,使用它,查看缺少的内容并修复它。 – 2011-12-29 07:22:40

回答

1

我会考虑使用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上看到他们/例子