Tôi cố gắng để viết một bài kiểm tra sử dụng rspec mà kiểm tra nếu biến phiên giao dịch đã được thay đổi một cách chính xác:Làm thế nào để kiểm tra qua rspec rằng các biến session cập nhật trong điều khiển
Đây là một phần của GamesController Tôi muốn để kiểm tra:
def change_player
if session[:player] == 0
session[:player] = 1
else
session[:player] = 0
end
end
Đây là tập tin game_spec.rb tôi:
require "spec_helper"
describe GamesController do
describe "#change_player" do
it "should change player to 1" do
session[:player] = 0
get :change_player
assigns(session[:player]).should == 1
end
end
end
Đây là thông báo lỗi tôi nhận được khi tôi chạy thử nghiệm:
Failures:
1) GamesController#change_player should set player to 0
Failure/Error: session[:player] = 0
NameError:
undefined local variable or method `session' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_1:0x00000103b3b0d8>
# ./spec/features/game_spec.rb:6:in `block (3 levels) in <top (required)>'
Finished in 0.01709 seconds
1 example, 1 failure
Failed examples:
rspec ./spec/features/game_spec.rb:5 # GamesController#change_player should set player to 0
Cảm ơn