Вот несколько методов, связанных с «сопоставителем изменений» в RSpec:
-
change
— это основной метод, используемый для определения средства сопоставления изменений в RSpec. Ему требуется объект и символ, представляющий метод или атрибут, за изменениями которого необходимо наблюдать.
Пример:expect { object.save }.tochange(object, :attribute)
-
by
— этот метод используется вместе с сопоставителемchange
для указания ожидаемой суммы изменения. Он принимает числовое значение или блок, который возвращает числовое значение.
Пример:expect { object.update }.tochange(object, :attribute).by(3)
-
from
– этот метод используется с сопоставителемchange
для указания ожидаемого начального значения перед изменением.
Пример:expect { object.delete }.to изменить(object, :attribute).from("old_value")
-
to
– этот метод используется с сопоставителемchange
для указания ожидаемого конечного значения после изменения.
Пример:expect { object.process }.to изменить(object, :attribute).to("new_value")
-
from_value
– этот метод используется для указания ожидаемого начального значения перед изменением, аналогичноfrom
, но позволяет указать значение напрямую.
Пример:expect { object.modify }.tochange(object, :attribute).from_value(nil)
-
to_value
– этот метод используется для указания ожидаемого конечного значения после изменения, аналогичноto
, но позволяет указать значение напрямую.
Пример:expect { object.calculate }.tochange(object, :attribute).to_value(42)