Моята цел е да напиша test rspec, който проверява дали е бил извикан методът.
notify(result) if notification_allowed?(result)
И двете съобщения_отбелязани? и уведомяват са частни методи. По-точно имам нужда от тест, който проверява дали е бил извикан методът за уведомяване. Опитах се да направя нещо по-долу, но не изглежда да е прав.
subject { described_class.new }
it do
expect(subject).to receive(:notify)
subject.send(:notification_allowed?, true)
end
Отговори:
2 за отговор № 1повикване notification_allowed?
не прави нищо освен да върне резултата от notification_allowed?
Не е свързано с това notify
Ще трябва да се обадите на функцията, която съдържа израза, който искате да тествате.
Например, методът може да бъде ...
def check_and_notify(result)
notify(result) if notification_allowed?(result)
end
така че тестът ще бъде ...
subject { described_class.new }
it "calls notify" do
expect(subject).to receive(:notify)
subject.send(:check_and_notify, true)
end