私はこのようになり、要求仕様があります。このリクエスト仕様書を書く良い方法は?
describe "Registering from the main page" do
before(:each) do
fill_in "username","my_username"
fill_in "password","my_password"
fill_in "password_confirmation","my_password"
click_button "Register"
end
it "should have created a new user" do
User.count.should == 1
end
it "should have changed the message on the homepage" do
find("#element").value.should == "You registered!"
end
# ... other tests like this
end
最初の質問を、どのように私は私がフォームを送信する前に0のユーザーを持っていることを確認することができますか?
第2に、before
は、それが仕事をしても、私には正しそうに見えません。このユースケース全体を登録するためのテストを書くもう1つの方法はありますか?おそらく、何らかの形で前の部分を再構成するか、それとも私がそれをやっているように受け入れられますか?
更新:テストが失敗し始めたため、before(:all)
をbefore(:each)
に変更しました。 before(:all)
を使用しているとき、応答の本文が不完全であるようです。なぜあなたは知っていますか?カウントが事前に何であるかを心配する必要がないように、
何それは 'の前でだという事実について(各)'ブロック?それをそこから抜け出す方法はありますか? – Geo
'' click_button "という行以外に" ''私はコードが正しい場所にあると思います。それは登録をテストするための準備であり、あなたのすべての例のためにそこに存在する必要があると思われるので、 'before(:each)'が良いです。 – tsherif
また、 'before(:all)'/'before(:each)'の問題に対処するために何かを追加しました。 – tsherif