目前我正在从Rails 2.3.smthn升级到Rails 3.0。 该应用程序有200多条路由,并且在使用新的Router API重写路由之前,我想为路由编写(RSpec)测试。
因为有很多路线并为它们编写覆盖范围会有很多“笨拙的工作”,我想知道是否有办法为这些路线生成测试?
答案 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。