可以/我应该写一个返回对象的RSpec匹配器吗?

时间:2013-03-29 09:09:45

标签: ruby rspec capybara

我想为其中一个浏览器自动化库(Capybara)编写几种方法,以便让使用它的人的生活更轻松。

特别是我想添加两种方法:

  • 期望用户操作打开窗口的那个。 API用户应该能够知道打开了哪个窗口

    window_handle = window_opened_by(wait: 3) { find('#open-window').click }
    
  • 另一个希望用户操作关闭窗口的

    expect { find('#close-window').click }.to close_this_window(wait: 3) # clicking element with id 'close-window' should close window in no more than 3 seconds
    

但我希望这些方法彼此更相似。是否有可能使它们更相似?例如,是否可以让RSpec匹配器返回window_handle?

window_handle = expect { find('#open-window').click }.to open_window(wait: 3)

0 个答案:

没有答案