Rails 3升级:生成路由测试

时间:2013-09-06 13:31:57

标签: ruby-on-rails testing rspec routing

目前我正在从Rails 2.3.smthn升级到Rails 3.0。 该应用程序有200多条路由,并且在使用新的Router API重写路由之前,我想为路由编写(RSpec)测试。

因为有很多路线并为它们编写覆盖范围会有很多“笨拙的工作”,我想知道是否有办法为这些路线生成测试?

2 个答案:

答案 0 :(得分:0)

我会使用rake routes列出您当前的路由,然后编写一个Ruby程序来解析每一行并生成您想要的测试形式:

expect(:get => "/articles/2012/11/when-to-use-routing-specs").to route_to(
  :controller => "articles",
  :month => "2012-11",
  :slug => "when-to-use-routing-specs"
)

https://www.relishapp.com/rspec/rspec-rails/docs/routing-specs

中所述

我不知道如何测试命名路由,或者如何测试没有定义其他路由。您可能希望使用将rake routes的先前输出与rake routes的当前输出进行比较的测试来补充此项。

答案 1 :(得分:0)

我的同事和我写了一个宝石,为Rails应用程序中的每条路线生成路线规范,你可以看到源并得到它here