无法通过 rspec 中的测试

Can´t pass a test in rspec

it "should set token of player 1 to X" do
            @game.setplayer1
            @game.player1.should eql "X"
        end

我的方法

def setplayer1
        @output.player1.eql? "X"        
    end¨

我仍然在期待中:

  Failure/Error: @game.player1.should eql "X"

   expected: "X"
        got: nil

我不知道问题出在哪里,为什么没有通过测试。

你的 setplayer1 实际上并没有将 player1 设置为任何值,所以当你访问它时,它仍然是 nil。

附带说明,使用 <attribute_name>= 作为 setter 方法比 set_<attribute_name> 更可取。请注意,您可以使用 attr_accessor 来生成简单的 getter 和 setters,有关详细信息,请参阅 What is attr_accessor in Ruby?