毎日やったことを記録していく(2019/8/7 122日目)
今日やったこと
英語
TOEIC® L&R テスト 文法問題 でる1000問
- 回答数:12問
iKnow
- 新規:50個
- 復習:55個
スタディサプリENGLISH
- クイックワードクイズ:1サブセクション
開発
danime-nico-tools
コミュニティ
Kobe.rb
- danime-nico-toolsの開発
知ったこと
tod
時間のみを取り扱うことのできるGem。 github.com
define_method
Class.newやdefine_methodを使うと外側の変数にアクセスできる doruby.jp
RSpecのexample_group
RSpecのexample_group(contextやdescribe、it等)は動的にクラスを生成している。
そのため、スコープがexample_group内に閉じている。
RSpec.describe Api::Hoge::FugaFuga do describe '#call' do context 'cache: true' do #=> RSpec::ExampleGroups::ApiHogeFugaFuga::Call::CacheTrue end end end
RSpecでメソッドのショートハンドを定義する
愚直にdefでメソッドを定義するのがいい。
define_methodはスコープがひと目でわかりにくいし、letはメモ化されるので複数回実行時に同じ結果が返ってきてしまう。
大量にcontextがネストするテスト
contextでサブディレクトリを切ったりテストを分割したりすることで1ファイルあたりの関心事を減らすことができる。
感想等
ruby-jpのSlack本当に学びが多くていい。
油断すると簡単に時間が溶けるけど。