これはなに?
自動テストの初心者がテストコードを書くときに意識したことが方が良いことについて、僕が過去に書いた記事をまとめたものです。
RSpecでRailsのテストを書くケースがメインですが、自動テスト全般に役立つ知識も結構多いはずです。
<もくじ>
どんなテストを書けばいいのかわからない
何をテストしたらいいの?どういうテストを書けばいいの?という基本事項をまとめています。
qiita.com
バリデーションのテストって書くのは簡単ですが、本当に意味ある?っていう話を書いてます
qiita.com
なぜあなたはテストを書くのですか?と聞かれたときに、ちゃんと答えられるようにしましょう。
こちらはid:t-wadaさんの書かれた記事ですが、privateメソッドをテストするかどうかはFAQのひとつなのでよく参考にさせてもらってます。
t-wada.hatenablog.jp
可読性の高いテストを書きたい
共通したコードは全部beforeブロックに突っ込んで共通化、はNGです。
qiita.com
テストコードはあえてDRYを捨てて、APIドキュメントのように読めるコードを書きましょう。
不具合をちゃんと検知できるテストを書く
テストコードにアプリ側とそのまま同じコードを書いたりしちゃダメです!!
qiita.com
テストは全部パスしたけど、実はバグが隠れてました、なんてことがないようにしましょう。
qiita.com
「〜ではないこと」だけを検証して満足すると痛い目を見ます。
qiita.com
一覧ページのデータはちゃんとORDER BYを付けてユニークな並び順を保証しましょう。
qiita.com
RSpecの基本的な使い方を知りたい
実践的でわかりやすい、RSpecの定番入門記事。全4回。
qiita.com
qiita.com
qiita.com
qiita.com
RSpecの公式ドキュメントは最近URLが変わったのでご注意あれ。
qiita.com
Railsのテストを書くならこれ!僕が翻訳した電子書籍です。
leanpub.com
RSpecをもっと使いこなしたい
itとかexampleとかあるけど、どう使い分けたらいいの?というFAQに対する回答です。
qiita.com
RSpecは多機能ですが、全部モリモリに使おうとすると全然読めないテストコードが生まれまっせ。
qiita.com
僕は「subjectは滅多に使わない教」の信者です(人によって宗派がわかれるやつ)。
blog.jnito.com
こちらは弊社ソニックガーデンのメンバーが書いた記事です。sleepメソッド、乱用してませんか?
qiita.com
MinitestとRSpec、どっちがいいの?
MinitestとRSpecの比較記事ですが、いずれもちょっと情報が古いので現在(2023年)は少し状況が変わってるかも?(あまり変わってないかも?)
blog.jnito.com
blog.jnito.com
MinitestをRSpecに書き直す
「プロを目指す人のためのRuby入門(第1版)」のテストコードをMinitestからRSpecに書き換えてみました。全3回。
qiita.com
qiita.com
qiita.com
ちなみに現在は改訂2版が発売中です。上の記事の大半は改訂2版でも役に立つはずです。
勉強会でみんなの悩みを聞いてみた
勉強会でテストコードに関するいろんなお悩みを聞いてみました。誰もが一度は疑問に思うテーマが満載です。
blog.jnito.com
blog.jnito.com
まとめ
とりあえず、ぱっと思い出した記事をひととおり挙げてみました。
また何か新しい記事を書いたら追記しますね。