Почему я не могу поймать Capybara :: ElementNotFound в совпадении to_raise? - PullRequest
0 голосов
/ 20 ноября 2018
pry#<> expect(find("#recipients")).to raise_error(Capybara::ElementNotFound)
Capybara::ElementNotFound: Unable to find visible css "#recipients"

Я знаю, что сложно и потенциально подвержено ошибкам проверить, что определенные элементы "не" найдены, но я уверен, что мой вариант использования хорош.

Я пытаюсь сделать#dont_find matcher ...

1 Ответ

0 голосов
/ 20 ноября 2018

Ваша проблема в том, что вы пытаетесь передать find('#recipients') напрямую expect, но это не работает, потому что find вызывает исключение и, таким образом, expect даже никогда не вызывается.Вместо этого вы должны передать блок, например:

expect { find('#recipients') }.to raise_error(Capybara::ElementNotFound)
...