Понимание средства сопоставления изменений в Ruby RSpec: методы и использование

Вот несколько методов, связанных с «сопоставителем изменений» в RSpec:

  1. change— это основной метод, используемый для определения средства сопоставления изменений в RSpec. Ему требуется объект и символ, представляющий метод или атрибут, за изменениями которого необходимо наблюдать.
    Пример: expect { object.save }.tochange(object, :attribute)

  2. by— этот метод используется вместе с сопоставителем changeдля указания ожидаемой суммы изменения. Он принимает числовое значение или блок, который возвращает числовое значение.
    Пример: expect { object.update }.tochange(object, :attribute).by(3)

  3. from– этот метод используется с сопоставителем changeдля указания ожидаемого начального значения перед изменением.
    Пример: expect { object.delete }.to изменить(object, :attribute).from("old_value")

  4. to– этот метод используется с сопоставителем changeдля указания ожидаемого конечного значения после изменения.
    Пример: expect { object.process }.to изменить(object, :attribute).to("new_value")

  5. from_value– этот метод используется для указания ожидаемого начального значения перед изменением, аналогично from, но позволяет указать значение напрямую.
    Пример: expect { object.modify }.tochange(object, :attribute).from_value(nil)

  6. to_value– этот метод используется для указания ожидаемого конечного значения после изменения, аналогично to, но позволяет указать значение напрямую.
    Пример: expect { object.calculate }.tochange(object, :attribute).to_value(42)