give IT a try

プログラミング、リモートワーク、田舎暮らし、音楽、etc.

【初心者必見】これまでに書いた自動テストやRSpecに関する記事のまとめ

これはなに?

自動テストの初心者がテストコードを書くときに意識したことが方が良いことについて、僕が過去に書いた記事をまとめたものです。

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

まとめ

とりあえず、ぱっと思い出した記事をひととおり挙げてみました。
また何か新しい記事を書いたら追記しますね。