はじめに

Railsの特徴の1つはテストコードに関する情報が豊富なことだと思います。
テストの中でも最もメジャーなRSpecに関しては書くことがたくさんあるので、「Railsを斬る」とは別カテゴリのコラムにすることにしました。

RSpecはバージョン2とバージョン3で記述方法がかなり異なります。ここでのバージョンはRspec3を想定しています。

はじめに

rails_tutorial

久々(1年半ぶり)にRailsチュートリアルを眺めてみました。

http://railstutorial.jp/

ちなみにこのサイト、本当によくできています、Rails初学者は必読のサイトでしょう。
(続きを読む…)

はじめに

vim

分類しづらい技術的な内容をつらつらと書き溜めて行きます。

「しづらい」?「しずらい」?。。。まぁいいか

アジャイルサムライ――達人開発者への道

はじめに

css

これまでホームページ作成ソフトの類いを使った事がありません。

仕事上、静止画面のHTMLを作成する機会がなかったという事もありますが、あの種のソフトが吐き出すCSSは必要以上に複雑になってしまうため、その後のメンテナンスがキツイというのが主な理由です。

ちゃんとCSSを理解して使えば、CSSの記述内容はシンプルで読みやすくなるはずです。
(続きを読む…)

フォーマット指定

RSpecの出力は–format(もしくは-f)で指定可能です。

指定可能なフォーマットはprogress(デフォルト)、documentation、html、jsonの4種類が用意されています。 (続きを読む…)

コード共有 -Shared examples-

Rspecでテストコードを書くとやたらめったらコードが長くなることがありますよね、ここではShared exampleを利用してコードを共有する(DRY)方法を紹介します。
※RSpecのバージョンはRspec3を想定しています。
(続きを読む…)

コード共有 -Shared context-

Rspecでテストコードを書くとやたらめったらコードが長くなることがありますよね、ここではShared contextを利用してコードを共有する(DRY)方法を紹介します。
※RSpecのバージョンはRspec3を想定しています。
(続きを読む…)

一部のテストのみ実行 -タグ付け-

RSpecテストの数が数百、数千個になってくるとテストの待ち時間が問題になってきます。個々のテストに「毎回実行する」、「たまに実行する」や「すぐ終わる」、「時間かかる」などの分類ができると便利です。
その際に使用するのがRSpecのtag機能です。
※RSpecのバージョンはRspec3を想定しています。 (続きを読む…)

一部のテストのみ実行 -コマンドオプション-

前回tagを指定することで一部のテストのみ実行する方法を紹介しましたが、tag以外にも文字列の検索機能や行番号指定を利用して特定のテストのみを選択して実行することができます。
その際にはrspecコマンドに–example (もしくは-e)オプションや:(行番号)を使用します。
※RSpecのバージョンはRspec3を想定しています。

(続きを読む…)

before句 after句

テスト実行前後に処理を挟む場合はbefore、afterを使用します。
それぞれ:suite、:context、:exampleを指定してテストのどの部分に処理を挟むかを指定します。
※RSpecのバージョンはRspec3を想定しています。 (続きを読む…)