Capybara предупреждает о «проверке ожидаемого текста, равного нулю» - PullRequest
0 голосов
/ 20 июня 2020

Когда я запускаю тесты, я случайно вижу это в окне своего терминала для конкретной c функции c, которую я использую:

Checking for expected text of nil is confusing and/or pointless since it will always match.
Please specify a string or regexp instead.

Я не верю что мой код неправильно использует nil, поэтому мне интересно, что это значит. Я также не использую nil ни в каких rspe c ожиданиях или методах capybara. Могу ли я помочь решить проблему с этим сообщением?

1 Ответ

0 голосов
/ 12 августа 2020

Это вызвано переменной, которая равна нулю при проверке, например, expect(page).to have_text user.middle_name, где в данном случае user.middle_name равно нулю, потому что у пользователя нет среднего имени.

Сообщение с предупреждением выдается в ваших "драгоценных камнях" -directory " / gems / capybara-xxx / lib / capybara / query / text_query.rb .

Чтобы узнать, где происходит проверка нуля, добавьте raise "here I check for nil" перед warn.

Вы получите ошибку времени выполнения со строкой, где она встречается в вашем SPE c.

RuntimeError
  here I check for nil
# ... stack trace omitted
# ./spec/requests/user_show_spec.rb:45:in `block (2 levels) in <top (required)>
...