如何在Ruby中使用动态数量的yield语句

时间:2018-09-26 15:26:52

标签: ruby rspec yield

  def within_page_frame
    application_tab = window_opened_by { click_link('Application Info') }
    within_window application_tab do
    within_frame find_by_id('ApplicationInfo') do
      yield
      end
    end
 end

 it 'should view the web page', :smoke do
   visit_home_page p
   application_tab = window_opened_by { click_link('Application Info') }
   within_page_frame {expect(find_by_id('home page').to be}
 end

这是当前正在运行的代码。我正在使用方法“ within_page_frame”来避免在测试套件的其他规范中重复代码。

我想做的是能够传递多个期望语句,而不必在inner_page_frame方法中指定yield语句的确切数量。我的方法中是否可以有动态数量的yield语句,以便我可以传递任意数量的Expected语句?

1 个答案:

答案 0 :(得分:1)

喜欢吗?

within_page_frame do 
  expect(find_by_id('home page')).to be
  expect(find_by_id('something else')).to be
end