首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用Javascript测试Rspec控制器

使用Javascript测试Rspec控制器
EN

Stack Overflow用户
提问于 2012-09-26 22:32:48
回答 1查看 10.6K关注 0票数 20

如果控制器只使用javascript响应,那么如何在Rspec中测试控制器?例如,这将是我的实际代码:

一些view.html.erb

link_to 'More Chips', add_chips_path, :remote => true

chips_controller

def add_chips
  Chips.create(:color => :red)
  @chips = Chips.all
end

add_chips.js.erb

$('#chip_count').html('<%=j render("chips/list", :chips => @chips) %>');

Rspec测试

规范/控制器/芯片控制器规范

it "should add chips" do 
  post :add_chips, :format => 'js'
end

当我尝试使用RSpec发布时,我得到了一个缺少模板的错误,因为它正在发送一个超文本标记语言请求,但是没有超文本标记语言视图。我尝试过传入一种格式,但似乎不起作用。我知道我可以放入一个“虚拟的”html视图来让它通过,但这看起来像是一个hack。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-28 09:57:25

好了,我知道我做错了什么。我在我的测试中传递了一个参数散列,该格式需要包含在相同的散列中。因此,不是这样:

@params = {:chip_color => 'red'}
...
post :add_chips, @params, :format => 'js'

它需要看起来像这样

@params = {:chip_color => 'red', :format => 'js'}
...
post :add_chips, @params
票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12604096

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档