Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用RSpec和Capybara测试模态对话框_Ruby On Rails_Rspec - Fatal编程技术网

Ruby on rails 使用RSpec和Capybara测试模态对话框

Ruby on rails 使用RSpec和Capybara测试模态对话框,ruby-on-rails,rspec,Ruby On Rails,Rspec,当我在导航栏上单击“登录”时,会弹出一个模式对话框,显示部分登录 我将如何使用RSpec和水豚来测试它 <!--....--> <li><%= link_to "Log in", '#', data: {:'reveal-id' => 'loginModal'} %></li> <!--....--> <div id="loginModal" class="reveal-modal"> <%= render

当我在导航栏上单击“登录”时,会弹出一个模式对话框,显示部分登录

我将如何使用RSpec和水豚来测试它

<!--....-->
<li><%= link_to "Log in", '#', data: {:'reveal-id' => 'loginModal'} %></li>
<!--....-->

<div id="loginModal" class="reveal-modal">
  <%= render 'devise/sessions/new' %>
  <a class="close-reveal-modal">&#215;</a>
</div>

  • 'loginModal'}%>
  • ×
    试试:

    请考虑使用以下,

    within('#loginModal') do
      page.should have_content('a_modal_content_here') # async
    end
    

    只在模式中查找您的内容。

    我认为这可能是一种方式,但我必须确保“a#u modal_content_here”是模式特有的,对吗?没有必要,您可以使用
    in('loginModal'){…}
    只在模式html中查找。很好,这正是我想要的。谢谢Althaf-您能确认下面的解决方案是否适用于您吗?是的,它确实按预期工作
    within('#loginModal') do
      page.should have_content('a_modal_content_here') # async
    end