【问题标题】:Should I use Rails routing helpers inside RSpec tests? [duplicate]我应该在 RSpec 测试中使用 Rails 路由助手吗? [复制]
【发布时间】:2015-10-24 17:19:22
【问题描述】:

在 RSpec 请求 doc page 我们可以读到

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

    不利于测试可读性。所以这是一个权衡。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多