Rails功能测试断言选择javascript响应
我目前正在尝试为一个收费表单编写功能测试,该表单通过AJAX(jQuery)加载到页面上。它从charge_form操作加载表单,该操作返回consult_form.js.erb视图 这一切都可行,但我的测试有问题 在函数中,我可以转到操作,但不能使用assert\u select查找元素并验证表单是否确实存在 错误: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
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来修复它