Subject (класс) возвращает себя в методе - PullRequest
0 голосов
/ 04 мая 2020

Я делаю упражнение на курсе, и мне нужно написать код для следующего теста:

  it 'returns itself when exiting a journey' do
    expect(subject.finish(station)).to eq(subject)
  end

Я написал:

    class Journey
      ...
      def finish(station)
        Journey
      end
      ...
    end

Я получаю ошибка:

expected: #<Journey:0x00007fd90091e7c8>
            got: Journey

       (compared using ==)

       Diff:
       @@ -1,2 +1,2 @@
       -#<Journey:0x00007fd90091e7c8>
       +Journey

Когда я писал это, мне казалось, что это слишком легко, но я не уверен, как еще go об этом. Любая помощь будет принята с благодарностью, спасибо!

1 Ответ

0 голосов
/ 04 мая 2020

Вы возвращаете класс

      def finish(station)
        Journey
      end

, но вам нужно вернуть экземпляр:

      def finish(station)
        Journey.new
      end

Но этого пока недостаточно, потому что вам нужно вернуть тот же экземпляр как объект, для которого был вызван метод "

      def finish(station)
        self
      end
...