1

次の関連付けを持つUserCarの2 つのモデルがあります。

User has_many Car
Car belongs to User

車を編集するための機能を作成しています。これまでのところ、次のようなものがあります。

Feature: Edit car for a user 
  In order to edit cars of my user
  As a user
  I should be able to edit existing users related to my account

Scenario: User is signed in and edits an education with valid attributes 
  Given I am logged in as a user
  And I have the following cars related to my account
  Then I want to edit a car...

私が実装した唯一のステップはこれです:

Given /^I am logged in as a user$/ do
  @user = FactoryGirl.create(:user)
  user_sign_in
end


def user_sign_in
 visit '/users/sign_in'
 fill_in "Email", :with => @user[:email]
 fill_in "Password", :with => @user[:password]
 click_button "Go"
end

基本的に、このユーザーに関連付けられた車を作成する方法と、それらの車の 1 つを編集できることをテストする方法がわかりません。

4

1 に答える 1

0

次に、Cucumberのwikiに関する出力テストのみを行う必要があります。あなたはいつにそれを変形させるべきです。

私はキュウリに不慣れですが、あなたはこのようなことをすべきだと思います(キュウリは正確な例が好きです):

Given I am logged in
And I have "Ferrari" related to my account
When I edit "Ferrari"
Then "Ferrari" should be modified.

または他の車種。

あなたの与えられた中で、あなたはあなたの変数を設定します。Webサイトの認証機能をテストしていないため、Userクラスメソッドを使用してユーザーをログインするだけです。それはあなたのテストをスピードアップします。手順は次のようになります。

ログインしている場合->ユーザーにログインします

そして、私は...-> @car = Car.create!(your params)

いつ...->これは@carを変更する必要があります

visit car_edit_path(your car id)
Fill....
Sumbmit

次に->@carが変更されたことを確認します

whenでは、モデルメソッドを使用して車を変更し、thenでは、車が変更されたかどうかを確認します。

于 2012-06-17T03:35:33.073 に答える