k-tokitoh

もろもろメモ

2019-04-15

.

  • rails のバリデーションでは、インスタンス.errors[:attribute]に、その attribute に関するエラー(“can’t be blank”とか)を配列として格納する。
  • new と build の違い
    • author.books.new => author_id: nil
    • author.books.build => author_id: 1 とか
    • create できないけど build&save はできる自体が発生した。意味わからんくて悲しい。
  • モデルに関して何をテストするか
    • バリデーション、メソッド、scope
    • それぞれについて、「起きてほしいこと」と「起きてほしくないこと」
  • テストは example or it, テストをまとめるのは describe or context.
  • サンプルデータの作成
    • フィクスチャ
      • デフォルトで用意されている
      • データの保存に ActiveRecord をつかわない → モデルのバリデーションの対象外
    • ファクトリ
      • factory girl → factory bot
  • git submoduleというのがあるらしい