shoulda,rspec,guard,spork问题与http响应

时间:2012-02-14 15:17:29

标签: ruby-on-rails testing rspec shoulda

您好,感谢您的耐心等待! 我的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

1 个答案:

答案 0 :(得分:0)

您在:each的上下文块中缺少get :index,因此您永远不会调用索引操作。

更新如下:

context " get :index" do
  before(:each) do 
    get :index 
  end

  it { should respond_with(:success) }
end