2012-03-07 20 views
2

免責事項:私はまだRails/Cucumber初心者ですが、私は学びたいと思っています。私はRailsInActionの本を読んでいる間にキュウリのために "web_steps"を使っています。私は自分のステップを書くことを実験しました。私は彼らがなぜ取り出されたのか理解しています。キュウリ試験で挿入されたデータがドロップインしません。

  • 問題:私はいくつかのデータを移入し、ドロップダウンを移入するためにそのデータを使用しようとしています私のキュウリのシナリオの一つで

。データが確実に挿入されているので、データが実際にそこにあるかどうかを調べるテストを書いたので、これを知っています。ドロップダウンが人口に想定されており、私はオプション、テキスト選択ボックスに 『スティーブン』 『result_winner』(カピバラ:: ElementNotFound)となしのオプションを選択することができないエラー」*を取得しているドロップダウンから「選択」してみてください、その後

* "

私は何か基本的なものを見逃していると確信していますが、私は今これについて1時間ほど失ってしまっており、ちょっとした助けが必要です。

  • マイコード:

テスト:

When I follow "Record new Result" 
And the users "Steven, Joshua" exist 
And I select "Steven" from "result_winner" 

テストステップ:

When /^the users "([^"]*)" exist$/ do |playerNames| 
    @names = playerNames.scan(/[\w']+/) 

    for name in @names 
    @newPlayer = Player.new 
    @newPlayer.name = name 
    @newPlayer.save 
    end 
end 

その後_form.html.erbでのビューコード:

<p> 
    <%= f.label :winner %> 
    <%= select("result", "winner", @players.map {|p| [p.name, p.id]}) %> 
</p> 

コントローラー:

def new 
    @result = Result.new 
    @players = Player.find(:all) 
    end 

私は手動で名前を持つ開発のデータベースを作成し、ブラウザでそれを読み込む場合は、ドロップダウンはそれらに移入データを持っているし、完璧に動作します。テストデータが表示されているときやドロップダウンからデータをテストして選択する方法について誤解しています。

ご協力いただければ幸いです。

答えて

3

私には、ステップシーケンスには簡単な問題があります。ページを訪問してデータベースにデータを入力していますが、新しいデータベース値を考慮してページが再ロードされることはありません。あなたが最初の2つのステップの順番を入れ替えると、それはそれを修正すると思う。

  1. (テストデータが含まれていない)Webページ
  2. をアップロードDBにデータを挿入します。キュウリは、文字通り一度ごシナリオ1行をステップ実行し、明確にすること

  3. (データはDBにあった前に、ページがロードされたとしてそこではありません)ドロップダウンでそのデータを探し
+0

ありがとうございました!私は何か基本的なものがないことを知っていた! – StevenMcD

関連する問題