Я делаю простую игру из камня, бумаги, ножниц с использованием Sinatra и тестирования с rspec-capybara. Игра играет против компьютерного противника, который рандомизирует либо рок, бумагу, либо ножницы. Я пишу тест для результата веб-страницы. Я гася реакцию противника всегда выбирать бумагу таким образом, что игрок проигрывает (потому что он выбирает рок)удаление случайности из теста capybara
scenario "Player chooses rock, and the computer chooses paper." do
single_player_sign_in_and_play
click_button('rock')
allow(game).to receive_message_chain(:player2, :weapon) {:paper}
allow(game).to receive(:outcome).and_return("You lose!")
allow(game).to receive(:message).and_return("Your opponent chose #{game.player2.weapon}. #{game.outcome}")
expect(page).to have_content("Your opponent chose paper. You lose!")
конца
Я хочу, чтобы противник всегда иметь: документ, как оружие, так что игрок теряет: На странице должно быть содержание: «Ваш оппонент выбрал бумагу, вы проиграли!»
Это еще возвращает случайное поведение от соперника! –
чего вы хотите достичь? непонятно – fabersky
Я хочу, чтобы у оппонента всегда была: бумага как оружие, так что проигрыватель проигрывает: страница должна иметь контент: –