Rspec - почему я должен требовать active_support в моем файле спецификации - PullRequest
0 голосов
/ 06 марта 2019

Я только начал использовать rspec для написания некоторых модульных тестов.

В моем spec-файле мне пришлось добавить строку require 'active_support/core_ext', потому что один из методов, на которых я запускаю тесты, использует метод blank?,Без этого я получил ошибку по аналогии с неизвестным методом blank.

Спецификация выглядит следующим образом:

it 'returns error if receives a string as payload' do
    expect {ensure_properties([:title], 'ABC')}.to raise_error(MyError)
end

И ensure_properties используйте пустую строку следующим образом:

if value.is_a? String and value.blank?
   raise_my_error('Something')
end

Мне было просто интересно, зачем самому spec-файлу это нужно.Разве спецификация не работает, чтобы получить результат от этой функции?

1 Ответ

1 голос
/ 06 марта 2019

Разве спецификация не работает, чтобы получить результат от этой функции?

Больше или меньше.Но эта функция / метод требует blank?.Вместо того, чтобы помещать это требование в файл спецификации, вы можете поместить его в файл тестируемого метода, и он будет работать.

Вы упомянули Active Support.Это приложение для рельсов?Если это так, правильный путь действий заключается в загрузке enils rails в ваш rails_helper / spec_helper.(если вы не делаете это нарочно, в попытке ускорить спецификацию или что-то в этом роде).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...