Ruby on rails rspec控制器测试预期路径
我试图测试在创建帖子时,用户被重定向到部署路径。我已经加进去了Ruby on rails rspec控制器测试预期路径,ruby-on-rails,ruby-on-rails-4,rspec,rspec-rails,Ruby On Rails,Ruby On Rails 4,Rspec,Rspec Rails,我试图测试在创建帖子时,用户被重定向到部署路径。我已经加进去了 config.include Rails.application.routes.url_helpers 将铁路线路延伸至rspec。但我的测试仍然失败,出现以下错误 1) Failure/Error: expect(response).to redirect_to(path) Expected response to be a redirect to <http://test.host/deployments/ne
config.include Rails.application.routes.url_helpers
将铁路线路延伸至rspec。但我的测试仍然失败,出现以下错误
1) Failure/Error: expect(response).to redirect_to(path)
Expected response to be a redirect to <http://test.host/deployments/new> but was a redirect to <http://test.host/deployments/new.1473>.
Expected "http://test.host/deployments/new" to be === "http://test.host/deployments/new.1473".
# -e:1:in `<main>'
项目控制员
def create
@project=Project.new(params_project)
if @project.save
record_saved
return redirect_to(new_deployment_path(@project))
else
check_for_errors
return render('/projects/new')
end
end
为什么会失败?我是否以正确的方式处理这个问题
提前感谢您确定是
新建部署路径
而不是新建部署路径
这是我的第一个建议。它们可以是更多但不够的信息:routes.rb
和部署控制器例如现在在“重定向到新部署路径”块中,您需要替换eq(新部署路径)
smth。如下所示:eq(新部署路径(:post))
。对不起,现在我的眼睛再也睁不开了。现在在我的国家。但我想你理解我的意思了。您需要变量来获得正确的测试路径new\u deployments\u path
def create
@project=Project.new(params_project)
if @project.save
record_saved
return redirect_to(new_deployment_path(@project))
else
check_for_errors
return render('/projects/new')
end
end