代码之家  ›  专栏  ›  技术社区  ›  lobati

水豚预期*不*警报

  •  0
  • lobati  · 技术社区  · 6 年前

    使用水豚,有没有办法期望页面上没有警告?我的想法是:

    click_link('some link')
    expect(page).to have_no_alert
    

    或者类似的东西。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Thomas Walpole    6 年前

    不,Capybara没有提供类似的功能,所有的警报处理方法都使用打开警报的块,因此编写自己的匹配器来完成这一任务并不简单。

    你可以做一些事情

    expect do
      accept_alert do # may want to pass a `wait` option to `accept_alert` to shorten how long it will check for an alert to exist
        click_link('some link')
      end
    end.to raise_error(Capybara::ModalNotFound)