ruby-on-rails - 如何在 Rails 集成测试中访问 View helper?

标签 ruby-on-rails unit-testing view font-awesome

我的 Rails View 中有以下代码

 <li><span class="list-group-item-bullet"><%= icon('eye') %></span>

生成以下 HTML:

<li><span class="list-group-item-bullet"><i class="fa fa-eye"></i></span>

我想在集成测试中验证这一点,并且我正在使用以下生成错误的代码

 assert_select 'li' do
   assert_select 'span.list-group-item-bullet', 'i.fa fa-eye'
 end

如何在集成测试中验证它?

最佳答案

以下似乎有效:

assert_select 'li' do
  assert_select 'span.list-group-item-bullet' do
    assert_select 'i.fa.fa-eye'
  end
end

或更简洁地说,

assert_select 'li span.list-group-item-bullet i.fa.fa-eye'

Taglia 是正确的,您需要 'i.fa.fa-eye' b/c 'i.fa fa-eye' 查找具有 fa 类的 i 标记和后代 fa-eye 标记。

关于ruby-on-rails - 如何在 Rails 集成测试中访问 View helper?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35837665/

相关文章:

ruby-on-rails - 当使用 update_attributes 更新资源时,acts_as_list 是否应该自动重新排序项目?

ruby-on-rails - Resque - 类的未定义方法 'perform'

ruby-on-rails - Haml 更新后 Capybara::Poltergeist::MouseEventFailed (4.0.7 => 5.0.2) [RAILS]

unit-testing - 我在哪里可以找到一些 GPS 单元测试数据?

java - 如何在 Junit 中使 `_logger.isDebugEnabled()` 条件为假?

css - Default.ctp 和一个完全不同的登录页面

sql-server - 无法从链接的 SQL Server 查询 View

ruby-on-rails - 多事件机器导致一个报告未定义的方法 `stop' 为 nil :NilClass

html - Angular Testing : Failed to load html component

MySQL View - 性能不佳