【问题标题】:Rails Functional test assert_select javascript respond_toRails 功能测试 assert_select javascript respond_to
【发布时间】:2010-03-11 15:33:39
【问题描述】:

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

这一切正常,但我的测试有问题。

在函数中,我可以执行操作,但我不能使用 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.

这是视图。 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

使用非html类型的assert_select有问题吗?

感谢您的帮助!

【问题讨论】:

    标签: javascript ruby-on-rails functional-testing


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2019-09-30
      • 1970-01-01
      • 2012-05-30
      • 1970-01-01
      • 2011-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多