Я только начал использовать 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-файлу это нужно.Разве спецификация не работает, чтобы получить результат от этой функции?