【RSpecを斬る】Railsの特徴の1つはテストコードに関する情報が豊富なことだと思います。テストの中でも最もメジャーなRSpecに関しては書くことがたくさんあるので、「Railsを斬る」とは別カテゴリのコラムにすることにしました。RSpecはバージョン2とバージョン3で記述方法がかなり異なります。ここでのバージョンはRspec3を想定しています。【RSpecを斬る】RSpecの出力は–format(もしくは-f)で指定可能です。指定可能なフォーマットはprogress(デフォルト)、documentation、html、jsonの4種類が用意されています。exampleを利用してコードを共有する(DRY)方法を紹介します。※RSpecのバージョンはRspec3を想定しています。contextを利用してコードを共有する(DRY)方法を紹介します。※RSpecのバージョンはRspec3を想定しています。【RSpecを斬る】RSpecテストの数が数百、数千個になってくるとテストの待ち時間が問題になってきます。個々のテストに「毎回実行する」、「たまに実行する」や「すぐ終わる」、「時間かかる」などの分類ができると便利です。その際に使用するのがRSpecのtag機能です。※RSpecのバージョンはRspec3を想定しています。前回tagを指定することで一部のテストのみ実行する方法を紹介しましたが、tag以外にも文字列の検索機能や行番号指定を利用して特定のテストのみを選択して実行することができます。(もしくは-e)オプションや:(行番号)を使用します。※RSpecのバージョンはRspec3を想定しています。【RSpecを斬る】テスト実行前後に処理を挟む場合はbefore、afterを使用します。それぞれ:suite、:context、:exampleを指定してテストのどの部分に処理を挟むかを指定します。※RSpecのバージョンはRspec3を想定しています。【開発系雑談】3ヶ月ほど前にサクラVPSで契約してうっかり放置したままのサーバを発見しました。ちなみにこのサーバ、契約時のままの状態でWebサーバやDBサーバ等は一切起動していません。IPアドレスのDNS登録もされていないので、インターネット上にポツンと放置された空き家のような存在です。そんなサーバでも/etc/log/secureファイルをみるとありとあらゆる攻撃にさらされているんですね。※幸い悪用されていませんでした、レンタルサーバ契約時は迅速にセキュリティ対策しましょう。この1ヶ月の攻撃ログをまとめてみました。