Ruby 如何通过rspec测试
我正在尝试使用测试驱动开发创建游戏策划人。我在想如何通过这项特定测试时遇到了一些问题:Ruby 如何通过rspec测试,ruby,rspec,tdd,Ruby,Rspec,Tdd,我正在尝试使用测试驱动开发创建游戏策划人。我在想如何通过这项特定测试时遇到了一些问题: it "should valiate secret contains four accepted uppercase characters" do @game.secret = "XXXX" secret = "RRRR" valid1 = @game.checksecret(secret) valid2 = ch
it "should valiate secret contains four accepted uppercase characters" do
@game.secret = "XXXX"
secret = "RRRR"
valid1 = @game.checksecret(secret)
valid2 = check_valid(secret)
valid1.should == valid2 && @game.secret.should == secret && valid1.should == 0
end
这是我目前掌握的代码:
def checksecret(secret)
secret = "RRRR"
valid1 = secret
valid2 = check_valid(secret)
valid1.should == valid2 && secret.should == secret && valid1.should == 0
end
这是我收到的错误消息
1) OXs_Game::Game#Mastermind game should valiate secret contains four accepted uppercase characters
Failure/Error: @game.secret = secret
NoMethodError:
undefined method `secret=' for nil:NilClass
# ./wad_mastermind_spec_01.rb:13:in `check_valid'
# ./wad_mastermind_gen_01.rb:61:in `checksecret'
# ./wad_mastermind_spec_01.rb:92:in `block (3 levels) in <module:OXs_Game>'
1)OXs_游戏::游戏#智囊团游戏应验证机密包含四个可接受的大写字符
失败/错误:@game.secret=secret
命名错误:
nil:NilClass的未定义方法“secret=”
#/wad_策划人_规范_01.rb:13:in‘check_valid’
#/wad_主谋_gen_01.rb:61:in'checksecret'
#/wad_策划人_规范_01.rb:92:in'block(3层)in'
我觉得我试图用错误的方法来解决它,但我不知道应该如何解决这个问题。你的
@game
变量为零确保设置@game
@tibsar我已经将@game设置为@game=game.new(@input,@output)
@AlexChase在代码中设置@game
的地方?@idej在规范文件中