我想测试我的编辑配方页面是否使用rspec呈现,尽管它不会路由到
recipes/edit它路由到recipes/id/edit (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当我的测试失败的时候,我怎样才能正确地测试这个页面
发布于 2012-11-02 05:26:59
问题
您的示例不包含实际测试控制器对象所需的代码。您的等级库中未定义RecipeController。
解决方案
确保你的控制器规范在spec/ controller下,或者有一个明确的type: :controller设置。然后,使用隐式主题或通过在之前或测试块中设置控制器实例来实际描述控制器。作为最基本的例子:
describe RecipeController do
# test something using the implied RecipeController.new
end更多阅读
发布于 2012-11-02 05:28:30
get需要在参数散列中传递的配方的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)
endhttps://stackoverflow.com/questions/13185552
复制相似问题