我想测试我的编辑配方页面使用rspec渲染,但它没有路由到
recipes/edit
它路由到食谱/ id /编辑(id被替换为数字)
我目前的测试看起来像这样
describe "Show Edit Recipe Page" do
it "should display edit recipe page" do
get :edit
response.should be_success
response.should render_template(:edit)
end
end
如何在我的测试失败时正确测试此页面
答案 0 :(得分:2)
您的示例不包含实际测试控制器对象所需的代码。 RecipeController未在您的规范中定义。
确保您的控制器规格在规格/控制器下生效或具有明确的type: :controller
设置。然后,实际描述一个控制器,使用隐式主题或通过在before或test块中设置控制器实例。作为最基本的例子:
describe RecipeController do
# test something using the implied RecipeController.new
end
答案 1 :(得分:1)
get
需要在params散列中传递的配方的id:
let(:recipe) { Factory.create(:recipe) }
it "should display edit recipe page" do
get :edit, :id => recipe.id
response.should be_success
response.should render_template(:edit)
end