アウトプットを頑張る

初めてのプログラミング学習期間中の記録と、日頃読んでいる本をメモのアウトプットをがんばります。

【プログラミング学習】Rspec 効率的なテストコードの記述 -Fakerの導入-

■プログラミング学習

f:id:yuma6128:20210710173934j:plain

Faker
FactoryBotで設定した値は、固有のものになるため、複数のテストを行う際に、「すでに重複したインスタンスが存在する」といった、意図しない形で弾かれてしまうことがあります。
その際に、インスタンスを生成する都度、値をランダムで作れるものがFakerになります。

Faker はランダムな値を生成するGemです。
メールアドレス、人名、パスワードなど、さまざまな意図に応じたランダムな値を生成できます。

Fakerの公式GitHub github.com

Fakerの導入
Fakerの導入には、Gemfileの追記が必要になります。

group :development, :test do
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
  gem 'rspec-rails', '~> 4.0.0'
  gem 'factory_bot_rails'
  gem 'faker' #こちらに追記
end

記述後は、bundle installを行い、導入は完了です。

Fakerの試す
コンソールを起動して、ランダムな値が生成されているかを確認します。

% rails c
Running via Spring preloader in process 7256
Loading development environment (Rails 6.0.4)
[1] pry(main)> Faker::Name.initials(number: 3)
=> "SPC"
[2] pry(main)> Faker::Internet.free_email
=> "elliot@yahoo.com"
Faker::Internet.password(min_length:6)
=> 

といった具合に、それぞれランダムな値が記述されます。

■読書 世界のビジネスエリートが知っている 教養としての茶道

f:id:yuma6128:20210710180648j:plain ◎感想
日本の中で当たり前にように感じていることの素晴らしさを意識できる 1冊でした。
ビジネスに関係ないと思われるかもしれないですが、相手の気持ちを考える姿勢や物事の捉え方などが学びになりました。
スティーブ・ジョブズも目指していた、茶道も禅も余計なものを捨て、シンプルに生きるということ、今のような変化が多い世界に必要な考え方だと思いました。
石田三成豊臣秀吉に対して行った、三献のお茶の対応は感銘を受け、こうした考え方を日頃から意識せずとも出来るようになりたいです。
心が疲れていたり、何か悩みがあるかたも是非ご一読をおすすめします。 私はこの本を読んで、茶道の体験教室に行ってきましたが、とても良い体験でした。