前提・実現したいこと
いま、Rubyでプログラムを書いています。
そこで、true_or_false
とget_char
のテストを書きたいと思っています。
Ruby
1def true_or_false(i, j) 2 $inputs.include?([i, j]) ? 'T ' : 'F ' 3end 4 5def get_char(i, j) 6 i == j ? '- ' : true_or_false(i, j) 7end 8 9$inputs = gets.to_i.times.map do 10 gets.split 11end 12 13$inputs.size.times do |i| 14 $inputs.size.times do |j| 15 print get_char i, j 16 end 17 puts 18end
発生している問題・エラーメッセージ
ruby main_test.rb
を実行すると、main.rb
でgets
を呼んでいるためユーザー入力待ちになってしまいます。
関数だけテストしたい場合はどうしたらいいのでしょうか?
該当のソースコード
Ruby
1require 'minitest/autorun' 2require './main.rb' 3 4class MainTest < Minitest::Test 5 $inputs = [ 6 [1, 3], 7 [2, 1], 8 [2, 3] 9 ] 10 11 def test_get_char 12 assert_equal '- ', get_char(1, 1) 13 end 14 15 def test_win_or_loss 16 assert_equal 'W ', true_or_false(1, 3) 17 end 18end
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/01 01:53