前提・実現したいこと
RSpecのテストが実行できるようにしたいです。
発生している問題・エラーメッセージ
RSpecでテストコードを走らせると以下のエラーが吐かれてしまいます。
% bundle exec rspec spec/simulator_spec.rb An error occurred while loading spec_helper. Failure/Error: all_plans = File.open('json_plan.json') do |file| JSON.load(file).each_with_index do |plan, i| plan['price'] = prices[i] end end Errno::ENOENT: No such file or directory @ rb_sysopen - json_plan.json
該当のソースコード
ruby
1require 'json' 2 3class Simulator 4 def simulate 5 calculate = Calculate.new(@amps, @amount_per_month) 6 7 prices = [] 8 prices << calculate.hoge_plan 9 prices << calculate.fuga_plan 10 prices << calculate.piyo_plan if [30, 40, 50, 60].include?(@amps) 11 12 all_plans = File.open('json_plan.json') do |file| 13 JSON.load(file).each_with_index do |plan, i| 14 plan['price'] = prices[i] 15 end 16 end 17 18 plans = all_plans.map do |plan| 19 plan unless plan['price'].nil? 20 end.compact 21 end 22end
json
1# json_plan.json 2 3[ 4 { 5 "provider": "hoge", 6 "plan": "hoge", 7 "price": "" 8 }, 9 { 10 "provider": "fuga", 11 "plan": "fuga", 12 "price": "" 13 }, 14 { 15 "provider": "piyo", 16 "plan": "piyo", 17 "price": "" 18 } 19]
ruby
1# spec_helper.rb 2 3RSpec.configure do |config| 4 Dir[File.join(File.dirname(__FILE__), "../lib/**/*.rb")].each { |f| require f } 5 ... 6end
# simulator_spec.rb require_relative 'spec_helper' require 'pry' RSpec.describe Simulator do describe '' do end end
試したこと
スタブ化が必要とのことですが、binding.pryでそもそもsimulator_spec.rbまで進まないためどうしようか詰まってしまっています。
お手数ですがどなたかご助言いただけると幸いです。
あなたの回答
tips
プレビュー