読書メモ(Everyday-Rails - RSpecによるRailsテスト入門)
モック
モック(mock)は本物のオブジェクトのふりをするオブジェクトで、テストのために使われます
モックはデータベースにアクセスしない点が異なります。よって、テストにかかる時間 は短くなります。
スタブ
スタブ(stub)はオブジェクトのメソッドをオーバーライドし、事前に決められた値を返します。
つまり,スタブは、呼び出されるとテスト用に本物の結果を返す、ダミーメソッドです。
スタブをよく使うのはメソッドのデフォルト機能をオーバーライドするケースです。
特にデータベースやネットワークを使う処理が対象になります。
メモ
- 「まず動かし、次に正しくし、それから速くする(Make it work,make it right,make it fast)」
- プログラミングを習得する上で非常に重要なことは、自分が使っているエディタを隅から隅まで理解することです
- 「自分で管理していないコードをモック化するな(Don’t mock what you don’t own)」
Everyday Rails… Aaron Sumner 著 et al. [Leanpub PDF/iPad/Kindle]
読書メモ(Everyday-Rails - RSpecによるRailsテスト入門)
モック
モック(mock)は本物のオブジェクトのふりをするオブジェクトで、テストのために使われます
モックはデータベースにアクセスしない点が異なります。よって、テストにかかる時間 は短くなります。
スタブ
スタブ(stub)はオブジェクトのメソッドをオーバーライドし、事前に決められた値を返します。
つまり,スタブは、呼び出されるとテスト用に本物の結果を返す、ダミーメソッドです
スタブをよく使うのはメソッドのデフォルト機能をオーバーライドするケースです。
特にデータベースやネットワークを使う処理が対象になります。
メモ
「まず動かし、次に正しくし、それから速くする(Make it work,make it right,make it fast)」
プログラミングを習得する上で非常に重要なことは、自分が使っているエディタを隅から隅まで理解することです
「自分で管理していないコードをモック化するな(Don’t mock what you don’t own)」
Everyday Rails… Aaron Sumner 著 et al. [Leanpub PDF/iPad/Kindle]
読書メモ(Everyday-Rails - RSpecによるRailsテスト入門)
- FactoryBot.buildを使うと新しいテストオブジェクトをメモリ内に保存します。
- FactoryBot.createを使うとアプリケーションのテスト用データベースにオブジェクトを永続化します。
- 遅いテストは何もテストがない状態よりもずっと良いと信じています。特に初心者にとっては絶対そうだと思います。
- ファクトリを使うとテスト中に予期しないデータが作成されたり、無駄にテストが遅くなったりする原因になります。
- 可能な限りFactoryBot.createよりもFactoryBot.buildを使ってください。
- こうすればテストデータベースにデータを追加する回数が減るので、パフォーマンス面のコストを削減できます。
Everyday Rails… Aaron Sumner 著 et al. [Leanpub PDF/iPad/Kindle]
読書メモ(Everyday-Rails - RSpecによるRailsテスト入門)
- 多くの複雑なシステムがそうであるように、8割の作業は2割の機能で済ませられるはずです
- 期待する結果をまとめて記述(describe)している。
- example(itで始まる1行)一つにつき、結果を一つだけ期待している。
- どのexampleも明示的である。
- 各exampleの説明は動詞で始まっている。shouldではない。
- 期待する結果は能動形で明示的に記述すること
- 起きてほしいことと、起きてほしくないことをテストすること
- 境界値テストをすること
- 可読性を上げるためにスペックを整理すること
- (しかし、テストの場合はDRYであることよりも読みやすいことの方が重要です)
(Everyday-Rails - RSpecによるRailsテスト入門 )
Everyday Rails… Aaron Sumner 著 et al. [Leanpub PDF/iPad/Kindle]
脳の使い方を学ぶ 不快な刺激を相対的に減らす
社会人になって、上司による心無い一言、後輩からの失礼な態度などで、
不快を経験するよくあるだろう。
できれば、このような不快な刺激を避けたいが、
社会人である以上、避けること、減らすことはできない。
しかし、減らすことはできないが、相対的に減らすことは可能だ。
やり方は簡単。
きつい仕事、苦手な人と一緒に仕事をすることが連続して続く場合、
その後に、自分に好ましい快の感情が発生するような予定を入れることだ。
こうすることによって、不快な刺激を相対的に減らすことができる。
(でも、思ったんだが、このやり方は、脳の使い方を学んでなくても、
やっている人が多いよね。科学的に裏付けたってことか)
しかし、注意点がある。それは強弱のバランスだ。すごく不快な経験の後、すぐにすごく快いことをしてもダメだそうだ。
なぜなら、『感情的な波立ちが大きくなりすぎ、平衡を失いやすくなる。その結果、冷静さを欠いた、極端なことばかり考えやすくなる』からだ。
そうなることを防ぐためにも、強い感情が発生した後には、感情があまり発生しない地味な仕事や勉強をコツコツやっているような時期、時間を設けるようにしたほうがよい。
参考文献『脳と気持ちの整理術』より。
備忘録 1
『脳はやる気を失いやすいものだし、見聞きした情報を忘れやすいものだし、思考を混乱させやすいものだということです。
大切なのは、脳の機能的な制約を理解し、それを補う使い方を心がけることです。
やる気を失いやすい脳にやる気を持たせるために、意識的に良い刺激を与えていく。忘れやすい脳に情報をしっかり覚えさせるために、少しだけ工夫をする。混乱しやすい脳に冷静さを維持させるために、問題を物理的に整理する技術を身につける。
そういうことができて初めて、無限の可能性を秘めた脳の力をよりダイナミックに活かしていくこともできると思います。
それが、私が考える正しい脳の使い方です。』