Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rails功能测试断言选择javascript响应_Javascript_Ruby On Rails_Functional Testing - Fatal编程技术网

Rails功能测试断言选择javascript响应

Rails功能测试断言选择javascript响应,javascript,ruby-on-rails,functional-testing,Javascript,Ruby On Rails,Functional Testing,我目前正在尝试为一个收费表单编写功能测试,该表单通过AJAX(jQuery)加载到页面上。它从charge_form操作加载表单,该操作返回consult_form.js.erb视图 这一切都可行,但我的测试有问题 在函数中,我可以转到操作,但不能使用assert\u select查找元素并验证表单是否确实存在 错误: 1)故障: 测试应该创建新的咨询(ConsultsControllerTest)[/test/functional/consults\u controller\u test.rb

我目前正在尝试为一个收费表单编写功能测试,该表单通过AJAX(jQuery)加载到页面上。它从charge_form操作加载表单,该操作返回consult_form.js.erb视图

这一切都可行,但我的测试有问题

在函数中,我可以转到操作,但不能使用assert\u select查找元素并验证表单是否确实存在

错误:
1)故障:
测试应该创建新的咨询(ConsultsControllerTest)[/test/functional/consults\u controller\u test.rb:8]:
应至少有1个元素与“h4”匹配,找到0。
不正确。

这就是观点。 请参阅_form.js.erb:

<div id="charging_form">
 <h4>Charging form</h4>
 <div class="left" id="charge_selection">
  <%= select_tag("select_category", options_from_collection_for_select(@categories, :id, :name)) %><br/>
...

收费表

...
参考\u controller\u test.rb:

require 'test_helper'

class ConsultsControllerTest < ActionController::TestCase
 def test_should_create_new_consult
  get_with_user :charge_form, :animal_id => animals(:one), :id => consults(:one), :format => 'js'
  assert_response :success

  assert_select 'h4', "Charging form" #can't find h4
 end
end
需要“测试助手”
类ConsultsController测试animals(:one),:id=>consults(:one),:格式=>js'
断言:成功
断言(u选择'h4','Charging form'#找不到h4
终止
终止
对html以外的类型使用assert_select是否有问题


谢谢你的帮助

所以,问题是我应该把javascript放在.js中,把HTML放在.HTML:p中,这一点很明显

我正在将html放入一个javascript文件中。我通过简单地将charge_form.js.erb重命名为charge_form.html.erb来修复它