che*_*ell 6 integration-testing rspec2 ruby-on-rails-3
我的控制器中有以下内容:
def create
@board = Board.find(session[:board])
@greeting = @board.Greetings.build(params[:greeting])
respond_to do |format|
if @greeting.save
format.js { render :action => "success" }
else
format.js { render :action => "failure" }
end
end
end
Run Code Online (Sandbox Code Playgroud)
在我的rspec硒测试中,我想为电路板设置会话.但似乎我做不到
describe "greeting creation" do
before(:each) do
@board = Factory(:board)
session[:board] = @board.id
end
Run Code Online (Sandbox Code Playgroud)
这会出现以下错误:
Failure/Error: session[:board] = @board.id
NoMethodError:
undefined method `session' for nil:NilClass
Run Code Online (Sandbox Code Playgroud)
如何设置会话以使此测试有效?
我遇到了这个问题并通过使用 ApplicationController.session[:key] 来“解决”它。
但现在我收到错误TypeError:
can't convert Symbol into Integer
level_spec.rb:7:in
[]='`