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

Ruby on rails 我应该在RSpec测试中使用Rails路由助手吗?,ruby-on-rails,ruby,ruby-on-rails-4,testing,rspec,Ruby On Rails,Ruby,Ruby On Rails 4,Testing,Rspec,根据RSpec的要求,我们可以阅读 请求规范为Rails的集成测试提供了一个薄薄的包装,并且 设计用于驱动整个堆栈的行为,包括路由 (由Rails提供)且无存根(由您决定) 在提供的代码示例中,我们看到get”/widgets/new“。但是,我们可以访问请求规范中的所有routes helper(如新建\u小部件\u路径)。我看到有些项目在规范中使用url帮助程序,有些则没有 什么是最佳实践?我可以在集成(或/和)功能测试中使用路由帮助器吗?每种方法都会产生什么后果 是的,路由帮助程序可用于功

根据RSpec的要求,我们可以阅读

请求规范为Rails的集成测试提供了一个薄薄的包装,并且 设计用于驱动整个堆栈的行为,包括路由 (由Rails提供)且无存根(由您决定)

在提供的代码示例中,我们看到
get”/widgets/new“
。但是,我们可以访问请求规范中的所有routes helper(如
新建\u小部件\u路径
)。我看到有些项目在规范中使用url帮助程序,有些则没有


什么是最佳实践?我可以在集成(或/和)功能测试中使用路由帮助器吗?每种方法都会产生什么后果

是的,路由帮助程序可用于功能和请求规范

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

 GET "/api/v1/users/#{user.id}/something/#{something.id}"
这对测试的可读性不是很好。因此,这是一种权衡