0

私は以下をテストしようとしています:

-> ユーザーとして、投稿を作成できるようにしたい。各投稿には、ドロップダウンから選択できるコンテンツとカテゴリ (別のモデル) があります。

次のステップがあります。

When /^I create a post with valid data$/ do
  visit new_post_path
  # Here it would go the fill for content
  # Here it would go the select of category
end

私の質問は次のとおりです。カテゴリはどこで定義すればよいですか? シードファイルまたは..?

編集:私の疑問は、たとえば、私の(フォーム)ビューでは次のとおりです。

<div class="field">
    <%= f.label :category %><br />
    <%= f.select "category_id", options_from_collection_for_select(Category.all, "id", "name") %>
</div>

ステップ定義から「新しい」パスにアクセスすると、ビューにアクセスしますが、Category.all は何も返しません。どうすれば修正できますか?

ありがとう

4

3 に答える 3

2

必要なバックグラウンド設定、つまりテストが依存するものは、Given セクションで指定する必要があります。

Background:
  Given Categories exist

次に、ビューで使用できるようにするアイテムを手順で指定できます。たとえばFactoryGirl.create(:category)、何でも

Given を Background で指定すると、ファイル内のすべてのシナリオの前に実行されるため、依存関係の設定に最適です。

于 2013-03-31T16:11:32.347 に答える