タグ

ブックマーク / qiita.com/vivid_muimui (2)

  • Rails4でのテスト実行時にafter_commitを呼ぶ - Qiita

    Rails4での話。(3以下は未確認。おそらくRails3でも同じ) tl;dr rails4ではテスト実行時にtransactional_fixturesのせいでafter_commitが呼ばれない test_after_commitを使えば解決できる rails5では修正されている 問題 test実行時にActiveRecord::Callbacksのafter_commitが呼ばれない そのため、意図通りに動かない・テストが通らないということになる after_commitのドキュメントには以下のように書いてある https://github.com/rails/rails/blob/v4.2.5/activerecord/lib/active_record/transactions.rb#L235-L237 Note that transactional fixtures do n

    Rails4でのテスト実行時にafter_commitを呼ぶ - Qiita
    akatakun
    akatakun 2018/03/16
    Transactional Fixturesを有効にするとテストごとにDB実行前の状態に 戻る ,しかし、Rails 4ではコミットされないがためにafter_commitが呼ばれない
  • リーダブルRspec - Qiita

    はじめに リーダブルRspecというタイトルつけましたが、そんな大それたものではないです テスト書くときでも名前付け重要だからちゃんとしよう!っていうだけの内容です RspecがBDDのためのツールであることを意識しつつ、 Rspecの流儀に則って適切に名前付けをして書くと読みやすいテストがかけるはずです describe/context/exampleのメッセージに適切に名前つける これが出来るだけで当然読みやすいテストになる describe->テスト対象 context->テストする状況 example->テスト(itやspecify) なので、 『aaaはbbbの時cccになる』 というテストを書くときは次のようになる 重要なのは describe/context/exampleだけでテストの概要を説明すること 理解しやすい状態になっていないと、負債になってしまう 1つのdescr

    リーダブルRspec - Qiita
  • 1