огурец - Как использовать метод в определении шага - PullRequest
0 голосов
/ 14 марта 2011

Я учусь использовать огурец для проверки парсинга электронной почты и сталкиваюсь с ошибкой.

В моих определениях шагов у меня есть шаг, определенный следующим образом:

Given /^a email reply from gmail$/ do
  # Get the Raw Email
  raw_email = File.read("#{Rails.root}/features/step_definitions/email_replies/gmail_webapp_standard_1.txt")
  # Send it to the mailingjob to find the reply
  parsed_email = MailingJob.find_reply(raw_email)
  # more stuff will come once the above is working
end

Проблема заключается в следующих ошибках:

(::) failed steps (::)

undefined method `find_reply' for MailingJob:Class (NoMethodError)
./features/step_definitions/email_steps.rb:5:in `/^a email reply from gmail$/'
features/ingest_emails.feature:7:in `Given a email reply from gmail'

Failing Scenarios:
cucumber features/ingest_emails.feature:6 # Scenario: GMAIL Web App Email Reply

Любые идеи, почему я новичок в огурце, так что, надеюсь, я не упущу что-то очевидное!

Что касается MailingJob, который живет здесь: /lib/mailing_job.rb

И выглядит примерно так:

class MailingJob < Struct.new(:mailing_id)

  include ActionView::Helpers

  def perform

    begin
      .....
    end
  end


  def find_reply(body)
    # Lots of processing blah blah

    returns body  
  end

Спасибо

1 Ответ

3 голосов
/ 14 марта 2011

Вы вызываете метод класса.

Так в mailing_job.rb должно быть:

class MailingJob < Struct.new(:mailing_id)

  def self.find_reply(body)
    # Lots of processing blah blah

    returns body  
  end
...
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...