javascript - Rails 功能测试assert_select javascript respond_to

标签 javascript ruby-on-rails functional-testing

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

这一切都有效,但我在测试时遇到了问题。

在功能中,我可以转到操作,但无法使用assert_select 来查找元素并验证表单是否确实存在。

错误: 1) Failure: test_should_create_new_consult(ConsultsControllerTest) [/test/functional/consults_controller_test.rb:8]: Expected at least 1 element matching "h4", found 0. <false> is not true.

这就是 View 。 Consult_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/>
...

consults_controller_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

将assert_select与html以外的类型一起使用是否有问题?

感谢您的帮助!

最佳答案

所以,问题是我应该将 javascript 放在 .js 中,将 HTML 放在 .html 中:P 很明显。

我将 html 放入 JavaScript 文件中。我通过简单地将 charge_form.js.erb 重命名为 charge_form.html.erb 来修复此问题。

关于javascript - Rails 功能测试assert_select javascript respond_to,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2426256/

相关文章:

Javascript 数据未在第一次加载

Javascript水平滚动文本,改变颜色

javascript:监听来自特定 iframe 的 postMessage 事件

ruby-on-rails - ActionMailer 在 development.log 中发送电子邮件 "sent",但未收到

ruby-on-rails - Thin + Nginx + Websockets 配置 | rails

java - 如何对三角形进行功能测试

javascript - 如何使用 postman 测试检查API响应中的一个节点在所有对象下是否具有相同的值?

javascript - <canvas> 围棋/围棋/围棋棋盘

ruby-on-rails - 如何增加 rails 中 HTTParty post 方法的超时时间?

使用 Dagger 进行 Android 功能测试