我应该在RSpec测试中使用Rails路由助手吗?

时间:2015-10-24 17:19:23

标签: ruby-on-rails ruby ruby-on-rails-4 testing rspec

在RSpec请求doc page上,我们可以阅读

  

请求规范为Rails的集成测试提供了一个薄的包装,并且是   旨在通过完整堆栈驱动行为,包括路由   (由Rails提供)并且没有存根(这取决于你)。

在提供的代码示例中,我们看到get "/widgets/new"。但是,我们可以访问请求规范中的所有路径帮助程序(如new_widget_path)。我看到一些项目在规范中使用url helper,有些则没有。

什么被认为是最好的做法?我可以在集成(或/和)功能测试中使用路由助手吗?这些方法各有什么后果?

1 个答案:

答案 0 :(得分:0)

是的,路由助手可用于功能和功能。请求规格。

例如,明确地为API路由编写URL会在某些方面确保它们不会偏离记录的URL。但写作:

 GET "/api/v1/users/#{user.id}/something/#{something.id}"

测试可读性不佳。所以这是一种权衡。