使用Rspec测试的完整Rails JSON API示例

42

我正在寻找一个好的Rails 3项目示例存储库,它实现了JSON API并包含了RSpec测试。最好有完整的教程,但只有一个有良好注释的示例也可以。


虽然不想过多吹嘘自己,但我写了一个有关创建基于oauth2的API的教程。然而,一些通用概念仍然适用,并且你可以查看其中的一些规范。https://github.com/Gazler/Oauth2-Tutorial - Gazler
3
有没有关于 Rails 3.2 的最新教程?因为存储库已经超过两年了,现在可能有更好的解决方案,或者一些概念已经改变。 - 23tux
3个回答

65

Yehuda Katz和Ryan Bigg的新书《Rails 3实战》中,有一章讲述了如何在整本书贯穿始终的示例应用程序上构建一个基于测试驱动的JSON API。

虽然我强烈推荐购买这本书的beta版本,但是示例应用程序Ticketee的代码是开源的,可以在GitHub上找到。特别是所有与API相关的内容都被命名空间化到/app/controllers/api下,您可以在/spec/api中找到大量的RSpec测试。

几个月前我也曾处于您同样的境地,因为需要为iPhone应用编写JSON API,所以我深知缺乏好的、测试驱动的、相关的在线教程的问题。幸运的是我了解到了这本书,它成为了我的生命救星。


《Rails 3实战》是一本非常适合TDD的书籍,API部分写得非常好。 - Gazler
谢谢你推荐这本书 - 我会去看看的。 - PhillipKregg
我似乎找不到一个将JSON发布到控制器的规范示例。 - Mark Bolusmjak
2
在这本书中,作者建议创建路径 /spec/apis/v1/复数形式,如第13.1.1章所述,在第351页。 然而,在Ticketee示例中,使用了单数路径/spec/api/v1/。 这会影响任何测试吗? - JJD
我部署了一个Rails引擎(打包成gem),非常有用,可以在Rails上调试API。您只需挂载引擎并转到指定的URL,即“localhost:3000/api_explorer”,即可查看它。这也是一种记录API的方式,从文件中读取Web服务规范。该gem的名称为“api_explorer”,存储库位于http://www.github.com/toptierlabs/api_explorer。欢迎任何评论或帮助改进API。 :) - Tony
显示剩余5条评论

9

RubyGems.org 是一个开源项目,并且有一个很好的 API 示例。


0

我不能确切地回答API示例,但我绝对可以为Rails 3应用程序中的API测试背书。

这是网址:whitneytaylorimura.wordpress.com

它提供了一个完整的示例,使用Cucumber、Rspec和FactoryGirl创建对象(使用DatabaseCleaner清理它们)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接