У меня есть пользовательский сопоставитель:
RSpec::Matchers.define :have_value do |attribute, expected|
match do |obj|
obj.send(attribute) == expected
end
description do
"have attribute #{attribute} with value #{expected}"
end
end
И это пример того, как я его использую:
context "description" do
subject { create_obj_from_file(file_name) }
h = {
:attribute1 => 6,
:attribute2 => 3,
:attribute3 => "PL" }
}
h.each do |k,v| it { should have_value k, v} end
end
Это мои тесты выполняются правильно. Но когда я получаю сообщение об ошибке, это не пользовательская ошибка, а "ожидается, что {массовый дамп объекта} будет иметь значение: атрибут и значение". Есть идеи относительно того, что я делаю неправильно?