【问题标题】:Testing action text with rspec使用 rspec 测试操作文本
【发布时间】:2020-04-14 09:30:33
【问题描述】:

使用动作文本,我有一个名为 drill 的模型

app/models/drill.rb

class drill
   has_rich_text :content
end

我有一个表格可以使用 trix 编辑器

<%= form_for @drill do |f| %>
  <div class="field">
    <%= f.label :content %>
    <%= f.rich_text_area :content %>
  </div>
  <%= f.submit "Update", class: 'btn btn-primary' %>
<% end -%>

这会产生一个用于输入文本的空间,标签为“内容”,输入的 id 为 drill_content_trix_input_drilltrix-editor 元素的 id 为 drill_content。在 rspec 功能规范中,我已经尝试过

it 'fills the content field', js: true do
    ...
    fill_in 'drill_content_trix_input_drill', with: 'Do full swing very slowly'
end

但这给了

Capybara::ElementNotFound:
       Unable to find field "drill_content_trix_input_drill" that is not disabled

我也尝试过fill_in 'Content'fill_in 'drill_content',但看到了类似的错误。我该如何解决这个问题?

【问题讨论】:

标签: rspec ruby-on-rails-6 actiontext


【解决方案1】:

给你:

  def fill_in_trix_editor(id, with:)
    find(:css, "##{id}").click.set(with)
  end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多