1

Jeff Morgan の本「Cucumber & Cheese」とほぼ同じセットアップを使用しており、このようなページ オブジェクトがあります。

class NewPublicationPage
  include PageObject
  include RSpec::Matchers
  ... 
  def submit_basic_message_with_tag
    @tag = Time.now.to_i
    ...
    self.tag_entry = @tag
    # the tag ends up getting added later on down the road to a div container.
    ...
  end

  def verify_last_tag
    done_loading
    # tag_list is a div container that should contain the tag.
    tag_list.should include @tag
  end
end

Cucumber ステップで次のコマンドを実行すると、各コマンドは独自のステップで失敗し、cannot convert nil to string. インスタンス変数 @tag に関係していることはわかっていますが、その理由はわかりません。

When /^I submit a basic message with tags$/ do
  on_page(NewPublicationPage).submit_basic_message_with_tag
end

Then /^I should see the tag under Publish History$/ do
    visit_page(PublishHistoryPage) # goes to page with div container that holds tags
    on_page(NewPublicationPage).verify_last_tag #this creates the error
end
4

1 に答える 1

0

とにかく、それを読み取る前に @tag を設定する必要があります。たとえば、verify_last_tag メソッドの先頭に設定するか、両方のテストで同じにする必要がある場合は、その投稿 を参照してください。あなた。

于 2012-10-27T12:05:10.330 に答える