2

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

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

4

2 回答 2

0

我和我的同事编写了一个 gem,它为 Rails 应用程序中的每条路线生成路线规范,您可以查看源代码并在此处获取。

于 2013-09-19T17:21:40.267 回答
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

于 2013-09-06T14:57:25.307 回答