1

次の機能を rspec でどのように記述しますか?

機能: サインイン; ユーザーとしてサイトを利用するために、サインインできるようにしたい

  Scenario: Signing in via confirmation
    Given there are the following users:
      |email            |password|
      |user@example.com |password|
    And "user@example.com" opens the mail with subject
      "Confirmation instructions"
    And they click the first link in the email
    Then I should see "Your account was successfully confirmed"
    And I should see "Signed in as user@example.com"
4

2 に答える 2

2

これは、 Rails 3 in Actionの初版の機能​​のように見えます。現在、これを第 2 版に書き直しています。第 2 版の機能は次のようになります。

feature 'Signing in' do
  before do
    Factory(:user, :email => "ticketee@example.com")
  end

  scenario 'Signing in via confirmation' do
    open_email "ticketee@example.com", :with_subject => /Confirmation/
    click_first_link_in_email
    page.should have_content("Your account was successfully confirmed")
    page.should have_content("Signed in as ticketee@example.com")
  end
end

contextこれは、Capybara の新しい機能構文を使用しています。これは、すべての意図と目的において、RSpec のブロックと同じです。を使用して、beforeこの機能内で使用できるユーザーを設定します。シナリオ内では、open_emailメソッド (email_spec gem によって提供される) を使用して電子メールを開き、click_first_link_in_emailその gem によって提供されるメソッドを使用してこれら 2 つのステップを実行します。

次に、必要に応じて 2 つのメッセージを表示できるページに移動します。

于 2012-05-02T12:49:06.977 に答える
1

カブの宝石を試してみてください。

カブは RSpec の Gherkin 拡張です。Gherkin でテストを作成し、RSpec 環境で実行できます。基本的に、キュウリの機能は RSpec で記述できます。

于 2012-05-01T22:24:53.963 に答える