2009-08-22 5 views

ответ

1

Мы всегда можем написать пользовательский соединитель.

Или используйте комбинацию by_at_most и by_at_least matchers с точностью, как это:

lambda { ...}.should change(unit, :price).by_at_most(12.15 + 10e-5).by_at_least(12.15 - 10e-5) 
0

Это не представляется возможным с текущее состояние кода. Вот источник Matchers :: Change, где вы можете увидеть его: http://github.com/dchelimsky/rspec/blob/f9ef5bff62c10d33414c9ab2f3ac87e1256e07b8/lib/spec/matchers/change.rb

Было бы приемлемым совпадение с верхней границей? Например:

lambda { ...}.should change(unit, :price).by_at_most(12.15) 
+0

Да, это может решить проблему, если мы используем by_at_most и by_at_least вместе. Не идеальное решение, но работает. –