私はrspec、レール、ルビーにとても慣れていません。私は現在それらを学んでいます。実行する個々のテストごとに get または post 要求を入れていることに気づきましたが、これはあまり DRY ではありません。テストが機能するために、これらのリクエストを発行し続ける必要がありますか? または私は何か基本的なものを欠いていますか?
編集:
実行中のテストごとに、コントローラがリクエストを実行できるように get :page style リクエストを発行する必要があります。しかし、同じアクションのさまざまな側面をテストするときは、同じリクエストを繰り返し発行するため、コードを繰り返します。これは DRY ではありません (同じことを繰り返さないでください)。
describe "Find Movies With Same Director" do
it "should respond, and find the requested movie" do
stubFind()
id = "1"
get :match_director, :id=>id
response.code.should eq("200")
end
it "should search for movies with the same director" do
id = "1"
Movie.should_receive(:match_director).with(id)
get :match_director, :id=>id
end
it "should pass all matching movies to view" do
id = "1"
Movie.should_receive(:match_director).with(id).and_return("")
get :match_director, :id=>id
assigns[:movies].should not_be nil
end
it "should pass a list of movies" do
id = "1"
Movie.stub(:match_director).and_return(stub_model(Movie))
get :match_director, :id=>id
assigns[:movies].should be_instance_of(Movie)
end
end