如何从#228屏幕截图为Ryan Bates的助手编写RSpec测试?

肯里克狗

我跟着Ryan Bates的关于可排序表列的教程

我试图为编写规范ApplicationHelper,但该#link_to方法失败。

这是我的规格:

require "spec_helper"

describe ApplicationHelper, type: :helper do
  it "generates sortable links" do
    helper.sortable("books") #just testing out, w/o any assertions... this fails
  end
end

这是运行规范的输出:

1) ApplicationHelper generates sortable links
 Failure/Error: helper.sortable("books") #just testing out, w/o any assertions... this fails
 ActionController::UrlGenerationError:
   No route matches {:sort=>"books", :direction=>"asc"}
 # ./app/helpers/application_helper.rb:5:in `sortable'

app / helpers / application_helper.rb(可排序方法)

module ApplicationHelper
  def sortable(column, title = nil)
    title ||= column.titleize
    direction = (column == params[:sort] && params[:direction] == "asc") ? "desc" : "asc"
    link_to title, :sort => column, :direction => direction
  end
end
吉列娃

发生错误是因为在测试中,Rails不知道该URL的控制器/动作是什么,在生成URL的方式中,它将{{sort => column,:direction => direction}附加到当前的请求参数,但是由于没有参数,它将失败,因此一种简单的解决方法是:

describe ApplicationHelper, type: :helper do
   it "generates sortable links" do
       helper.stub(:params).and_return({controller: 'users', action: 'index'})
       helper.sortable("books") #just testing out, w/o any assertions... this fails
   end
end

并像这样更新您的助手:

module ApplicationHelper
  def sortable(column, title = nil)
    title ||= column.titleize
    direction = (column == params[:sort] && params[:direction] == "asc") ? "desc" : "asc"
    link_to title, params.merge(:sort => column, :direction => direction)
  end
end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何通过#228屏幕录像为Ryan Bates的助手编写RSpec测试?

来自分类Dev

Rspec:如何测试Rails的url_for助手?

来自分类Dev

如何在 rspec 中测试私有助手(模块)方法

来自分类Dev

如何防止RSpec助手被加载

来自分类Dev

如何在HTMLBars中编写助手?

来自分类Dev

如何测试我的表格助手

来自分类Dev

如何在IRB会话中包括RSpec助手?

来自分类Dev

Rails 5-如何编写视图助手

来自分类Dev

如何为GoogleDrive API编写RSpec测试

来自分类Dev

如何对使用服务的助手进行单元测试?

来自分类Dev

如何测试视图助手呈现局部视图?

来自分类Dev

如何关闭Ubuntu手机屏幕截图声音?

来自分类Dev

当MSpec / Selenium测试失败时,如何保存屏幕截图?

来自分类Dev

如何在UI测试(Xcode)上关闭自动屏幕截图

来自分类Dev

如何提供可恢复的测试包以提供测试助手功能/结构?

来自分类Dev

如何在Rspec助手中模拟remote_ip?

来自分类Dev

如何编写需要OAuth2访问令牌的RSpec测试?

来自分类Dev

Rspec-如何为类方法编写测试

来自分类Dev

如何编写需要OAuth2访问令牌的RSpec测试?

来自分类Dev

如何为该代码编写RSpec测试代码?

来自分类Dev

如何为模型中的范围编写 rspec 测试

来自分类Dev

如何在codeIgniter表单助手中编写php代码

来自分类Dev

如何通过数据库访问测试视图助手

来自分类Dev

我应该在哪里放置我的助手,如何对其进行测试?

来自分类Dev

如何在单元测试中访问Ember中的速记助手?

来自分类Dev

如何编写rspec测试以测试控制器中是否有可用的辅助方法?

来自分类Dev

我如何编写一个Behat步骤来捕获屏幕截图或HTML页面?

来自分类Dev

RSpec和Rails:@virtual_path的存根,用于翻译助手来测试应用程序助手

来自分类Dev

RSpec Rails语法助手

Related 相关文章

  1. 1

    如何通过#228屏幕录像为Ryan Bates的助手编写RSpec测试?

  2. 2

    Rspec:如何测试Rails的url_for助手?

  3. 3

    如何在 rspec 中测试私有助手(模块)方法

  4. 4

    如何防止RSpec助手被加载

  5. 5

    如何在HTMLBars中编写助手?

  6. 6

    如何测试我的表格助手

  7. 7

    如何在IRB会话中包括RSpec助手?

  8. 8

    Rails 5-如何编写视图助手

  9. 9

    如何为GoogleDrive API编写RSpec测试

  10. 10

    如何对使用服务的助手进行单元测试?

  11. 11

    如何测试视图助手呈现局部视图?

  12. 12

    如何关闭Ubuntu手机屏幕截图声音?

  13. 13

    当MSpec / Selenium测试失败时,如何保存屏幕截图?

  14. 14

    如何在UI测试(Xcode)上关闭自动屏幕截图

  15. 15

    如何提供可恢复的测试包以提供测试助手功能/结构?

  16. 16

    如何在Rspec助手中模拟remote_ip?

  17. 17

    如何编写需要OAuth2访问令牌的RSpec测试?

  18. 18

    Rspec-如何为类方法编写测试

  19. 19

    如何编写需要OAuth2访问令牌的RSpec测试?

  20. 20

    如何为该代码编写RSpec测试代码?

  21. 21

    如何为模型中的范围编写 rspec 测试

  22. 22

    如何在codeIgniter表单助手中编写php代码

  23. 23

    如何通过数据库访问测试视图助手

  24. 24

    我应该在哪里放置我的助手,如何对其进行测试?

  25. 25

    如何在单元测试中访问Ember中的速记助手?

  26. 26

    如何编写rspec测试以测试控制器中是否有可用的辅助方法?

  27. 27

    我如何编写一个Behat步骤来捕获屏幕截图或HTML页面?

  28. 28

    RSpec和Rails:@virtual_path的存根,用于翻译助手来测试应用程序助手

  29. 29

    RSpec Rails语法助手

热门标签

归档