私はレールにかなり慣れていません。私は railstutorial (Rails 3.0) で作業しています。ある時点で、ユーザーのサインイン/サインアウト フローの統合テストを作成します。
describe "success" do
it "should sign a user in and out" do
user = Factory(:user)
visit signin_path
fill_in :email, :with => user.email
fill_in :password, :with => user.password
click_button
controller.should be_signed_in
click_link "Sign out"
controller.should_not be_signed_in
end
end
私の理解では、テストでは db/test データベースが使用されます。私が知る限り、このデータベースは空です (を使用して開きましたrails console test
)。Factory を使用して偽のユーザーを作成し、そのユーザーの名前と電子メールで正常に署名できるのはなぜですか?
RailsTutorial では次のように説明しています。
ここで before(:each) ブロックはサインイン ページにアクセスし、有効な電子メールとパスワードのペアを送信してサインインします。
なぜそれが有効なペアなのですか? 私は明らかに何かが欠けています。
サインインが機能していないように見えるので、これに特に興味があります。その理由を突き止めたいと思います。