目的 テストの実行結果を期待通りに実行したい
現状のコード
human.rb
require 'net/http' require 'uri' class Human attr_accessor :name, :age, :url def initialize(name, age, url) @name = name @age = age @url = URI.parse(url) end def run puts "#{@name}" puts "#{@age}" puts "#{@url}" end def url_analysis puts "ポート#{@url.port}, スキーマ#{@url.scheme}" end end
human_test.rb
require 'minitest/autorun' require '/Users/yoshidakai/test_parctice/human.rb' class HumanTest < Minitest::Test def setup @user1 = Human.new("kai", 21, "http://sample.com") @user2 = Human.new("satoshi", 24, "http://sample.com") end def test_name assert_equal "kai", @user1.name assert_equal "satoshi", @user2.name end def test_age assert_equal 21, @user1.age assert_equal 24, @user2.age end def test_url_analysis assert_equal "ポート80, スキーマhttp", @user1.url_analysis end end
##実行結果
Run options: --seed 40492 # Running: ..ポート80, スキーマhttp F Finished in 0.000960s, 3124.9999 runs/s, 5208.3331 assertions/s. 1) Failure: HumanTest#test_url_analysis [human_test.rb:22]: Expected: "ポート80, スキーマhttp" Actual: nil 3 runs, 5 assertions, 1 failures, 0 errors, 0 skips
human_test.rbのtest_url_analysisのところで、値がnilになってしまいます。
setupで@user1をインスタンス化して、human.rbのurl_analysisというインスタンスメソッドが使えると自分では、考えているのですが、なぜ、テストの実行結果でnilになってしまうのかが分かりません。
回答よろしくお願い致します。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/15 07:36