у меня есть этот метод для Tic Tac датчиком игры:RSpec тестирует отдельную часть метода
def start(token)
if token == "X"
puts "#{@player1}: Please enter a number for your X to go"
elsif token == "O"
puts "#{@player2}: Please enter a number for your O to go"
end
player_input = STDIN.gets.chomp
locate_player_input(token, player_input)
end
Я только пытаюсь проверить, чтобы увидеть, если правильно вещь puts'd к терминалу. У меня есть этот тест:
describe "#start" do
context "X player's turns" do
it "prints proper messege" do
expect(STDOUT).to receive(:puts).with("Harry: Please enter a number for your X to go")
game.start("X")
end
end
end
Но у меня есть чувство game.start («X») линия является то, что не делает эту работу. Как я могу написать тест, чтобы просто проверить, правильно ли выведен оператор puts?
Рекомендация по рефакторингу: вместо 'if',' else', просто используйте 'puts '# {@ player2}: Пожалуйста, введите число для вашего # {токена}, чтобы перейти к' '. – lwassink
внешний вид. Спасибо за предложение, я обязательно его осуществлю, когда начну рефакторинг –
Является ли тест неудачным? Какое сообщение об ошибке? – Johnson