您好,感谢您的耐心等待! 我的rails应用程序使用rspec和shoulda的组合来运行测试。测试是自动防护和spork。我的一个控制器测试看起来像
它{should respond_with(:success)}
运行测试时我得到了
预计回复为200,但是为301
通过浏览手动测试& wget事情正确,页面正确响应200状态代码。由于我对rails测试很陌生,因此我不明白当前测试的运行方式。他们是如何实施的?环境'测试'的目的是什么?是否有某种网络服务器在后台运行以运行测试?显然存在某种非想要的重定向。 提前致谢!
控制器:
class PlansController < ApplicationController
def index
@plans=Plan.all
end
... more methods ...
end
试验:
describe PlansController do
before :each do
@plan=FactoryGirl.create(:plan)
end
context " get :index" do
before do
get :index
end
it {should respond_with(:success)}
end
... more tests..
end
答案 0 :(得分:0)
您在:each
的上下文块中缺少get :index
,因此您永远不会调用索引操作。
更新如下:
context " get :index" do
before(:each) do
get :index
end
it { should respond_with(:success) }
end